我正在研究如何与原始VB代码实现PDF合并,以便可以由机器人调用该代码以实现业务流程自动化。
用于创建bot的软件提供了调用VB代码的功能,但是我认为它可以访问任何外部导入的库,因为它需要纯净的源代码,因此我本质上需要生成可以在abs中运行的代码。在VB shell环境中没有任何幻想(或看起来很方便)。
到目前为止,我所做的所有研究都指向我需要安装的外部软件包的方向,例如iText;这就是我要避免的事情。
答案 0 :(得分:1)
(此处是以前的iText员工)
PDF不是简单的(二进制)格式。 本质上,信息斑点(必须渲染的文本,字体,图像,矢量图形等)被压缩并收集到对象中。
每个对象都有一个数字。允许对象互相引用(一段文字可能会说“我想以4433字体呈现”)
文件中的所有对象编号及其字节偏移量都收集在交叉引用(通常称为XREF)表中。
PDF包含一个“页面”字典对象,该对象告诉查看者哪些对象属于哪个页面。
要合并PDF文件,您需要:
-读取所有文件的所有XREF表
-将所有这些调整为正确的字节偏移
-更新PDF文件中的各种字典对象,告诉它每页所有对象的存放位置
这绝非易事,但只能使用VB来完成。
如果您真的想实现此工具的强大,可扩展的版本,也许最好查看iText源代码,然后尝试将其移植到VB?