none
[OpenXML] Manuelle Verlinkung von Bildern RRS feed

  • Frage

  • Hallo,

     

    ich hoffe ich passe mit meiner Frage in dieses Forum.

    Ich habe ein Problem beim Erstellen einer docx-Datei. Einem Word-Dokument bzw. dem Header eines Dokuments ein Bild einzufügen schaffe ich über AddImagePart. Dabei wird für den Header eine header1.xml.rels angelegt, der ImageType wird im Content eingetragen und ich bekomme eine entsprechende rId zurück, welche ich im Header nutzen kann. Das klappt soweit. Jetzt möchte ich allerdings in Header2 das selbe Bild haben. Ich möchte es nicht erneut imporieren (ansonsten habe ich das selbe Bild zweimal im media-Ordner), sondernauf das bereits im Zip eingebette Bild verlinken. Wie geht das?

     

    Danke

    Björn

    Donnerstag, 17. Februar 2011 08:42

Antworten

  • Ich schon wieder.

    Das Problem konnte nach eigener Recherche gelöst werden.

    Für die Nachwelt:

    Dieses Problem wird von den eigenen Wordprocessing-Objekten nicht unterstützt. Deshalb muss man auf die Packages zurückgreifen. In diesem Beispiel wird dem Header eine Relationship hinzugefügt auf ein Bild welches bereits im Package liegt:

    Dim lHeaderPackage as
     PackagePart = headerPart.OpenXmlPackage.Package.GetPart(headerPart.Uri)
    Dim lRelation as PackageRelationship = lHeaderPackage.CreateRelationship(imageUri,TargetMode.Internal, imageRelationType)
    Die dabei entstandene Relation.Id kann dann verwendet werden um ein Bild anzuzeigen.
    • Als Antwort markiert Björn Möller Donnerstag, 17. Februar 2011 11:13
    Donnerstag, 17. Februar 2011 11:10