Hallo,
knaubel hier gerade an einem Problem, für das ich einfach keine Lösung finde.
Ich versuche ein picture(jpg, png etc.) in eine Wordvorlage einzufügen, hierfür suche ich die enthaltenen InlineShapes (siehe Code) und füge in die entsprechenden Ranges die Bilder ein.
WordDoc.Activate();
List<Word.Range> ranges = new List<Word.Range>();
foreach (Word.InlineShape s in WordDoc.InlineShapes)
{
ranges.Add(s.Range);
}
foreach (Word.Range range in ranges)
{
range.InlineShapes.AddPicture(_imageFile, ref missing, ref missing, ref missing);
}
// mal mit bookmarks
if (WordDoc.Bookmarks.Exists("Pic.1"))
{
object myBookMark = "Pic.1";
Object myImageRange = WordDoc.Bookmarks.get_Item(ref myBookMark).Range;
WordDoc.InlineShapes.AddPicture(_imageFile, ref missing, ref missing, ref myImageRange);
}
Das gespeicherte Worddokument ist deutlich grösser und enthält auch das Bild.
Seltsamerweise ist ist das Bild mit Office 2007 nicht zu sehen, das Bild ist sichtbar mit WordPad aber dort verliere ich jegliche Formatierung.
Habe jetzt schon mit diversen Vorlagen(Office 2003, 2007) rumgespielt aber bekomme immer dasselbe Ergebnis.
Wie man im Code sieht, habe ich das Ganze auch schon mit Bookmarks getestet. Bookmarks funktionieren prinzipiell auch aber leider funktioniert dort das positionieren und skalieren der Bilder nicht.
Ich muss flexibel 1-8 Bilder auf eine Seite bringen.
Gibt es eine Möglichkeit eine Wordseite "koordinatenmässig" anzusteuern?
Grüße,
Ninnazu
Hallo Ninnazu,
kannst du auch die OpenSDK nutzen? Das wäre dann Docx...
Ansonsten schau auchmal hier:
http://social.msdn.microsoft.com/forums/en-US/vsto/thread/5d68fa72-3fd2-49ca-bf4b-dce4c2899839
Gruss
nitro
Hallo Nitro2k7,
das Problem hat sich so eben erledigt.
Ich bin überzeugter Open Office Nutzer, mein Vorgänger mochte es aber scheinbar, dass MS Office so schnell wie möglich läuft, also hat er sich nur Platzhalter für Bilder anzeigen lassen...
Habe jetzt meine Outputfiles beim Kollegen mit MS Office getestet und da hat es wunderbar funktioniert, dem entsprechend habe ich meine Officeeinstellungen angepasst und nun funktioniert die Anzeige auch bei mir.
Nun kann ich wenigstens beruhigt Feierabend machen 😃