微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Basic 将图像插入到 Open Office Draw 文档中

如何解决使用 Basic 将图像插入到 Open Office Draw 文档中

我想使用 Basic 将图像插入到 LibreOffice Draw 文档中。我创建了一个 Draw 文档,然后在文档中添加一个页面,然后重命名了这些页面。我想在 Page1 中插入一个图像,然后将另一个图像添加到 Page2。我已根据需要创建了页面,但无法将图像插入页面。下面是我的代码

    sub Insertimage()
    Dim Doc As Object
    Dim Page1 as Object
    Dim Page2 as Object

    Dim DocPath1 as String
        DocPath1 = ConvertToURL("MyImage1.jpg")
    Dim DocPath2 as String
        DocPath2 = ConvertToURL("MyImage2.jpg")

    Dim noArgs() 'An empty array for the arguments
    Dim sURL As String

        sURL = "private:factory/sdraw"

        Doc = StarDesktop.LoadComponentFromUrl(sURL,"_blank",noArgs())
        Page1 = Doc.DrawPages(0)
        Page1.Name = "Image1"

        Page2 = Doc.Drawpages.insertNewByIndex(2)
        Page2.Name = "Image2"

       '    Page1.FillStyle = com.sun.star.drawing.FillStyle.BITMAP
       '    Page1.FillBitmapURL = DocPath1
        
    End sub

我一直在阅读 Andrew Pitonyak 的书,但无法找到我想要做的事情的来源。 FillStyle 破坏了代码

解决方法

我已经让程序运行起来了。

我创建了两个 pdf 并将它们保存在一个文件夹中。我运行宏 MergePDF 并且子打开 Draw,创建两个页面,将 pdf 处理到每个页面上。该文档已准备好导出到 PDF,这是我的下一个任务。必须关闭绘图才能使其工作。

    sub MergePDF()

    Dim Doc As Object 'This workbook

    Dim NewWorkBookURL As String

    NewWorkBookURL = "private:factory/sdraw"
 
    Dim noArgs() 'An empty array for the arguments

    Dim Point As New com.sun.star.awt.Point
    Dim Size As New com.sun.star.awt.Size

    Point.x = 0
    Point.y = 0
    'A4
    Size.Width = 21000
    Size.Height = 29700

    Dim Page1 As Object 'Excel sheet
    Dim Page2 As Object 'AutoCAD sheet

    Dim Image1 As Object 'PDF1
    Dim Image2 As Object 'PDF2

    Dim DocPath1 As String
    Dim DocPath2 As String
    Dim DocPath3 As String

    DocPath1 = ConvertToURL("C:\Users\pdf1.pdf")
    DocPath2 = ConvertToURL("C:\Users\\pdf2.pdf")

    Doc = StarDesktop.LoadComponentFromUrl(NewWorkBookURL,"_blank",noArgs())

    Page1 = Doc.DrawPages(0)
    Page1.Name = "PDF1"

    Page2 = Doc.Drawpages.insertNewByIndex(2)
    Page2.Name = "PDF2"

   'Page 1  
    Image1 = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
    Image1.GraphicURL = DocPath1
    
    Image1.Size = Size
    Image1.Position = Point
    Page1.add(Image1)

    'Page 2 
    Image2 = Doc.createInstance("com.sun.star.drawing.GraphicObjectShape")
    Image2.GraphicURL = DocPath2
    
    Image2.Size = Size
    Image2.Position = Point
    Page2.add(Image2)

    'ExportToPDF

    'To Do

    msgbox "Done"

    End sub

非常基本但有效。感谢论坛其他成员一路上的建议。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。