没有外部库/ SDK,是否可以在Visual Basic中处理pdf文件?

时间:2018-10-25 17:37:34

标签: file pdf merge basic

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

用于创建bot的软件提供了调用VB代码的功能,但是我认为它可以访问任何外部导入的库,因为它需要纯净的源代码,因此我本质上需要生成可以在abs中运行的代码。在VB shell环境中没有任何幻想(或看起来很方便)。

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

1 个答案:

答案 0 :(得分:1)

(此处是以前的iText员工)

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

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

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

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

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

这绝非易事,但只能使用VB来完成。

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