使用 VB.Net 将图像添加到 Libre Office Writer

问题描述 投票:0回答:1

几天来,我尝试使用 VB.net(使用 Visual Studio 2022)将图像添加到以编程方式创建的 Libre Office (v7.4) Writer 文档中,但没有成功。我正在使用的 LibreOffice SDK 是使用 NuGet 下载的。我发现所有说明或示例都不适合我。任何人都可以分享如何执行此操作的列表,特别是将 JPG 插入表格中的单元格并将其停靠在那里,或者交替调整其大小并将其居中于单元格中。

我研究了 Libre Office 网站、Open Office 网站和其他优秀的指导网站/文档,包括 Andrew D. Pitonyak 的“Open Office 宏解释”。当然,我也到处搜索说明和/或示例,并找到了很多,但没有一个是专门使用 VB.Net 的。我熟悉但不熟悉提供示例的其他语言,因此我使用了几种不同的转换工具来生成 VB.Net 代码。我在许多其他工作中使用这些工具取得了良好的成功,但这里没有。

最好的来源是 Libre Office 自己的(非常好的)“WriterDemo”,专门用 VB.Net 编写。这个演示立即对我有用,我尝试在它及其方法的基础上构建组件、对象和界面,用于编写文本、构建和填充表格、构建和填充文本框架等。但即使这样也没有让我满意到应许之地(嵌入 jpg 图像)。最后,由于我已经尝试了使用图形对象来执行此操作的多种变体,因此提供不起作用的列表可能会导致我可能提供的任何不起作用的代码“返回”。相反,我会简单地要求(并希望)提供一份工作清单。救命!

vb.net image visual-studio-2022 libreoffice writer
1个回答
0
投票

给用户246821点赞。但我不能宣布这是一个完全回答的问题......

我能够使用 Open XML SDK 2.5 生产力工具结合 LibreOffice Writer 文档生成(大量)VB.Net 代码。不幸的是,该工具只允许您分解 MS Word 文档。所以我必须使用的过程如下:

  1. 创建 Writer 文档
  2. 使用 Writer 将其转换为 MS Word (2007) 文档
  3. 使用生产力工具生成C#代码
  4. 使用在线 Telrik 代码转换器将 C# 代码转换为 VB.Net
  5. 运行 VB.Net 代码(顺便说一句,成功)生成相同的 MS Word 文档
  6. 使用 LibreOffice Writer 打开 MS Word 文档并将其转换为 LibreOffice 格式文档

这绝对是一个循环路径,而且它并没有按照我的意愿避免使用 MS Word。但更糟糕的是,将 Writer 文档修改为 MS Word 并没有保留我分配给每个表的表名称。因此,我轻松操作 VB.Net 代码(实际上找到对各个表的引用)的希望落空了。当然,这也不是不可克服的,但由于事情堆积起来,不利于使用它作为一个简单的解决方案,我放弃了这种方法。

但是,如果 VB.Net 代码的 LOC 数量较少,我可能会继续这条道路,但正如我所说,这会为相对较小的文档创建大量代码。我最终得到了一份总共包含 4 个空表的文档的近 30K LOC。虽然生成的大部分代码都是为了指定“样式”属性,但很难完成。但总的来说,这对于使用这种方法来生成代码以从头开始生成 LibreOffice 文档,甚至调用和修改文件模板来说并不是一个好兆头。

综上所述,XML SDK 2.5 生产力工具非常令人印象深刻,如果您想要构建或修改 MS Word 文档,则需要考虑这一点。请注意:它仍然可用,但 MS 声明它已弃用。

但我仍在寻找使用 VB.Net 将图像添加到 Libre Office Writer 文档的代码。有人吗?

© www.soinside.com 2019 - 2024. All rights reserved.