【问题标题】:Is it possible to manipulate pdf files in Visual Basic without an external library/SDK?是否可以在没有外部库/SDK 的情况下在 Visual Basic 中操作 pdf 文件?
【发布时间】:2018-10-25 17:37:33
【问题描述】:

我正在研究如何实现 PDF 与原始 VB 代码的合并,以便机器人可以调用代码以实现业务流程自动化。

用于创建机器人的软件提供了调用 VB 代码的功能,但我不相信它可以访问任何外部导入的库,因为它需要纯源代码,所以我基本上需要生成可以在VB shell 环境没有任何花哨的东西(或者看起来很方便)。

到目前为止,我所做的所有研究都指向了我需要安装的外部软件包的方向,例如 iText;这是我想要避免的。

【问题讨论】:

  • 是的,有可能。
  • 要“操作”文件?当然。然而,这完全取决于你对操纵的定义。
  • 是的,我想将多个 PDF 文档附加/合并为一个。我知道有一些软件应用程序和无数的源库,但我需要用 VB 来解决,没有外部参考

标签: file pdf merge basic


【解决方案1】:

(这里是以前的 iText 员工)

PDF 不是一种简单的(二进制)格式。 从本质上讲,信息块(必须渲染的文本、字体、图像、矢量图形等)被压缩并收集到对象中。

每个对象都有一个数字。允许对象相互引用(一段文本可能会说“我想用字体 4433 呈现”)

文件中的所有对象编号及其字节偏移都收集在交叉引用(通常称为 XREF)表中。

PDF 包含一个“页面”字典对象,它告诉查看者哪些对象属于哪个页面。

要合并 PDF 文件,您需要:
- 读取所有文件的所有外部参照表
- 将所有这些调整为正确的字节偏移
- 更新 PDF 文件中的各种字典对象,告诉它每页所有对象的保存位置

这绝非易事,但仅使用 VB 即可完成。

如果您认真考虑实现此工具的强大、可扩展版本,或许最好查看 iText 源代码并尝试将其移植到 VB?

【讨论】:

    猜你喜欢
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    • 2012-03-03
    • 2011-09-24
    • 2011-05-01
    • 2016-11-12
    • 1970-01-01
    相关资源
    最近更新 更多