Frage stellen

Versionsgeschichte [zurück]

Klicken, um Version anzuzeigen/zu verstecken 1
Ursprüngliche Version

Ich habe das einmal aus diversen Quellen zusammengepackt und zumindest die Schleife für die Bilder untereinander drin, so dass jedes Bild an einem separaten Anker hängt und daneben ein Absatz existiert, die Bilder also nicht einfach übereinander gepackt werden:

SUB GrafikenEinfuegen
GlobalScope.BasicLibraries.LoadLibrary("Tools")
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oTxtRange AS OBJECT
DIM stUrl AS STRING
DIM stFile AS STRING
DIM oText AS OBJECT
Const tpm = 0.017636684
oDoc = ThisComponent
oDrawpage = oDoc.getDrawpage()
stUrl = oDoc.URL
stUrl = Left(stUrl, len(stUrl)-len(RetrieveFileName(oDoc))) & "Bilder"
stFile = Dir$(stUrl + getPathSeparator + "*",0)
oText = oDoc.text
oCursor = oText.createTextCursor()
Do
    If stFile <> "." And stFile <> ".." Then
        stDir = stFile     
        oTxtRange = oText.getEnd()
        oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
        stUrl1 = stUrl & getPathSeparator & stFile
        oGrafik.GraphicURL = stUrl1
        oText.InsertTextContent(oTxtRange, oGrafik, FALSE)
        oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
        DIM oGrafikGroe AS NEW com.sun.star.awt.Size
        oBitmapGrafik = oGrafik.GraphicObjectFillBitmap.GetSize
        oGrafikGroe.height = oBitmapGrafik.height * TwipsPerPixelX * tpm * 100
        oGrafikGroe.width = oBitmapGrafik.width * TwipsPerPixelX * tpm * 100
        oGrafik.setSize(oGrafikGroe)
        oGrafik.SurroundAnchorOnly = TRUE
        oText.insertString(oCursor, CHR(13) ,false)
    End If
    stFile = Dir$
Loop Until stFile = ""
END SUB

Die Variablen sind nicht alle deklariert. Die Bilder liegen unterhalb des Textdokumentes in einem Verzeichnis "Bilder". In diesem Verzeichnis darf nach der Konstruktion nichts anderes liegen, denn alle dort enthaltenen Dateien werden als Grafiken gesehen, die eingefügt werden können.

Mal sehen, ob ich auch noch die Zeit habe, die Unterschriften usw. zu ermitteln.

Ich habe das einmal aus diversen Quellen zusammengepackt und zumindest die Schleife für die Bilder untereinander drin, so dass jedes Bild an einem separaten Anker hängt und daneben ein Absatz existiert, die Bilder also nicht einfach übereinander gepackt werden:

SUB GrafikenEinfuegen
GlobalScope.BasicLibraries.LoadLibrary("Tools")
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oTxtRange AS OBJECT
DIM stUrl AS STRING
DIM stFile AS STRING
DIM oText AS OBJECT
Const tpm = 0.017636684
oDoc = ThisComponent
oDrawpage = oDoc.getDrawpage()
stUrl = oDoc.URL
stUrl = Left(stUrl, len(stUrl)-len(RetrieveFileName(oDoc))) & "Bilder"
stFile = Dir$(stUrl + getPathSeparator + "*",0)
oText = oDoc.text
oCursor = oText.createTextCursor()
Do
    If stFile <> "." And stFile <> ".." Then
        stDir = stFile     
        oTxtRange = oText.getEnd()
        oGrafik = oDoc.createInstance("com.sun.star.drawing.GraphicObjectShape")
oDoc.createInstance("com.sun.star.text.GraphicObject")
        stUrl1 = stUrl & getPathSeparator & stFile
        oGrafik.GraphicURL = stUrl1
        oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
        oText.InsertTextContent(oTxtRange, oGrafik, FALSE)
        oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
        DIM oGrafikGroe AS NEW com.sun.star.awt.Size
        oBitmapGrafik = oGrafik.GraphicObjectFillBitmap.GetSize
        oGrafikGroe.height = oBitmapGrafik.height * TwipsPerPixelX * tpm * 100
        oGrafikGroe.width = oBitmapGrafik.width * TwipsPerPixelX * tpm * 100
        oGrafik.setSize(oGrafikGroe)
oGrafik.height = oGrafik.ActualSize.height
        oGrafik.width = oGrafik.ActualSize.width
        oGrafik.SurroundAnchorOnly = TRUE
        oText.insertString(oCursor, CHR(13) ,false)
        oGrafik.Name = stFile
    End If
    stFile = Dir$
Loop Until stFile = ""
END SUB

Die Variablen sind nicht alle deklariert. Die Bilder liegen unterhalb des Textdokumentes in einem Verzeichnis "Bilder". In diesem Verzeichnis darf nach der Konstruktion nichts anderes liegen, denn alle dort enthaltenen Dateien werden als Grafiken gesehen, die eingefügt werden können.

Mal sehen, ob ich auch noch die Zeit habe, die Unterschriften usw. zu ermitteln.

Ich habe das einmal aus diversen Quellen zusammengepackt und zumindest die Schleife für die Bilder untereinander drin, so dass jedes Bild an einem separaten Anker hängt und daneben ein Absatz existiert, die Bilder also nicht einfach übereinander gepackt werden:

SUB GrafikenEinfuegen
GlobalScope.BasicLibraries.LoadLibrary("Tools")
DIM oDoc AS OBJECT
DIM oDrawpage AS OBJECT
DIM oTxtRange AS OBJECT
DIM stUrl AS STRING
DIM stFile AS STRING
DIM oText AS OBJECT
oDoc = ThisComponent
oDrawpage = oDoc.getDrawpage()
stUrl = oDoc.URL
stUrl = Left(stUrl, len(stUrl)-len(RetrieveFileName(oDoc))) & "Bilder"
stFile = Dir$(stUrl + getPathSeparator + "*",0)
oText = oDoc.text
oCursor = oText.createTextCursor()
DIM oLinie AS NEW com.sun.star.table.BorderLine
oLinie.innerLineWidth = 0
oLinie.outerLineWidth = 0
Do
    If stFile <> "." And stFile <> ".." Then
        stDir = stFile     
        oTxtRange = oText.getEnd()
        oFrame = oDoc.createInstance("com.sun.star.text.TextFrame")
        oFrame.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
        oFrame.width = 10000
        oFrame.height = 10000
        oText.InsertTextContent(oTxtRange, oFrame, FALSE)
        oFrameCur = oFrame.createTextCursor()
        oFrameCur.charHeight = 12
        oFrameCur.String = stFile
        oFrame.BorderDistance = 0
        oFrame.LeftBorder = oLinie
        oFrame.RightBorder = oLinie
        oFrame.TopBorder = oLinie
        oFrame.BottomBorder = oLinie
        oGrafik = oDoc.createInstance("com.sun.star.text.GraphicObject")
        stUrl1 = stUrl & getPathSeparator & stFile
        oGrafik.GraphicURL = stUrl1
        oGrafik.AnchorType = com.sun.star.text.TextContentAnchorType.AT_PARAGRAPH
        oText.InsertTextContent(oTxtRange, com.sun.star.text.TextContentAnchorType.AS_CHARACTER
        oFrame.InsertTextContent(oFrameCur, oGrafik, FALSE)
        oGrafik.height = oGrafik.ActualSize.height
        oGrafik.width = oGrafik.ActualSize.width
        oGrafik.SurroundAnchorOnly oFrame.SurroundAnchorOnly = TRUE
        Dim aSize As New com.sun.star.awt.Size
        aSize.width = oGrafik.ActualSize.width
        aSize.height = oGrafik.ActualSize.height + 50
        oFrame.Size = aSize
        oText.insertString(oCursor, CHR(13) ,false)
        oGrafik.Name = stFile
    End If
    stFile = Dir$
Loop Until stFile = ""
END SUB

Die Variablen sind nicht alle deklariert. Die Bilder liegen unterhalb des Textdokumentes in einem Verzeichnis "Bilder". In diesem Verzeichnis darf nach der Konstruktion nichts anderes liegen, denn alle dort enthaltenen Dateien werden als Grafiken gesehen, die eingefügt werden können.

Mal sehen, ob ich auch noch die Zeit habe, die Unterschriften usw. zu ermitteln.

Habe ich gemacht: Bilder in Frames, Bildunterschrift (Dateinamen) sowie Bilder in den Frames.