OpenXML Compatibility Setting

Im Post “Hello World mit OpenXML” wurde ein Word Dokument erstellt und anschließend direkt in Word geöffnet. In der Titelzeile wurde hinter dem Titel des Dokuments “[Kompatibilitätsmodus]” angezeigt. Das liegt daran, dass Word 2010 das Dokument noch als Word 2007-Dokument erkennt. Damit das Dokument kompatibel zu Word 2007 bleibt werden dann nicht alle Word 2010-Funktionaltiäten aktiviert.

Um das zu verhindern muss in unserem Beispiel noch der folgende Code eingefügt werden:

#region In Word2010-Dokument umwandeln

DocumentSettingsPart documentSettingsPart = mainDocumentPart.AddNewPart();

Settings settings = new Settings()
{
  MCAttributes = new MarkupCompatibilityAttributes() { }
};

Compatibility compatibility = new Compatibility();

CompatibilitySetting compatibilitySetting = new CompatibilitySetting()
{
  Name = CompatSettingNameValues.CompatibilityMode,
  Uri = "http://schemas.microsoft.com/office/word",
  Val = "14
};

compatibility.Append(compatibilitySetting);
settings.Append(compatibility);
documentSettingsPart.Settings = settings;

#endregion

Val = “14” steht dabei für Office 2010, Val= “12” für Office 2007.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s