是否可以在没有外部库/SDK 的情况下在 Visual Basic 中操作 pdf 文件?



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

用于创建机器人的软件提供了一个调用 VB 代码的功能,但我认为它无法访问任何外部导入的库,因为它需要纯源代码,所以我基本上需要生成可以在 VB shell 环境中运行的代码没有任何花哨的东西(或方便,似乎(。

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

(以前的iText员工在这里(

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

每个对象都有一个数字。允许对象相互引用(一段文本可能会说"我想用字体 4433 渲染"(

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

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

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

这绝不是一项微不足道的任务,但仅使用 VB 即可完成。

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

最新更新