none
Word Bild als Link einfügen an einer bestimmten Stelle RRS feed

  • Frage

  • Hi Forum,

    ich habe zwar die Mögichkeit ein Bild in ein Word Dokument zu laden und auch anzuzeigen.

    Das Ganze geht über eine Textmarke.

    Aber wie kann ich so was machen wenn ich das Bild nicht links sondern zB in der Mitte haben möchte und dabei

    auch noch nur eine bestimmte Größe möchte.

    Kann ich irgendwie einen Rahmen machen der das max. Bild darstellt und in diesen Rahmen das Bild laden

    und die Größe entsprechend dem Rahmen begrenzen ?


    Gruß Roland

    Freitag, 18. Oktober 2013 09:16

Antworten

  • Hi Roland,

    Ein InlineShape ist - wie der Name schon sagt - eine Form, die innerhalb einer Zeile einfegügt werden kann und verhält sich daher genauso wie ein Textzeichen. Das ist nicht, was Du brauchst, denn Du möchtest das Bild ja frei plazieren können.

    Du brauchst also ein Shape-Objekt. Das ist ein Objekt, das zwar immer an ein Range verankert ist, dennoch aber frei plazierbar bleibt (auf der Seite, die den Anker enthält).

    Du könntest dazu z.B. folgenden Code verwenden:

    using System;
    using Word = Microsoft.Office.Interop.Word;
    
    namespace PlacePictureInWordDocument
    {
        class Program
        {
            static void Main(string[] args)
            {
                Word.Application app = new Word.Application();
                app.Visible = true;
    
                app.Documents.Add();
    
                Word.Shape shp = app.ActiveDocument.Shapes.AddPicture(
                                @"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg",
                                true, 
                                true, 
                                120,
                                120,
                                200,
                                150);
    
                float DISTANCE_TO_DOCUMENT_TEXT = app.InchesToPoints(0.1f);
    
                shp.WrapFormat.Type = Word.WdWrapType.wdWrapSquare;
                shp.WrapFormat.Side = Word.WdWrapSideType.wdWrapBoth;
                shp.WrapFormat.DistanceBottom = DISTANCE_TO_DOCUMENT_TEXT;
                shp.WrapFormat.DistanceLeft = DISTANCE_TO_DOCUMENT_TEXT;
                shp.WrapFormat.DistanceRight = DISTANCE_TO_DOCUMENT_TEXT;
                shp.WrapFormat.DistanceTop = DISTANCE_TO_DOCUMENT_TEXT;
            }
        }
    }
    

    Gruß
    Marcel

    Dienstag, 26. November 2013 08:37
    Moderator

Alle Antworten