【发布时间】:2018-12-06 19:53:48
【问题描述】:
我正在尝试编写一个宏来创建 Word 文档的 pdf。
我用来执行此操作的代码使用 ActiveDocument.ExportAsFixedFormat。这在一定程度上可行,但在创建大型文档的 pdf 时往往会失败(我将使用此宏处理的一些文档会运行到数千页)。
我的理解是 ExportAsFixedFormat 方法使用 Word 内置的 PDF 创建方法。我真正想做的是使用 Adobe Acrobat 进行 PDF 转换。如果我通过单击 Word 中的导出为 pdf 按钮手动执行此操作(我的机器上安装了 Adobe Acrobat),那么一切都很好。它使用实际的 Adobe Acrobat PDF 转换,即使在大到足以导致 ExportAsFixedFormat 方法失败的文档上,我的 PDF 也可以毫无错误地创建。
我一直在尝试弄清楚如何使用 Acrobat 自动从 VBA 转换为 PDF,并将我的头撞在砖墙上。
我发现了 CreatePDFEx 方法,理论上它看起来应该可以满足我的要求,但我也发现了警告,指出这不是受支持的方法,不推荐使用。见这里:
https://forums.adobe.com/thread/286431
确实,当我尝试它时,它不起作用。
然后我发现了 AcroExch.AVDoc 和 AcroExch.PDDoc 对象,这看起来可能是另一种方式。例如,请参见此处:
https://forums.adobe.com/thread/301714
这还带有不支持的警告。当我尝试它时,它可以工作,但速度非常慢,即使只有几页的文档也是如此。我不想去想一个 5000 页的文档会是什么样子。
真的可以这样做吗?它似乎不应该是火箭科学,但我找不到任何有效的方法。
我想要做的就是从大型 Word 文档可靠地创建 pdf。我认为这样做的方法可能是弄清楚如何通过 VBA 使用 Adobe 的工具(有支持的方法吗?),但如果我能解决它的问题,我会对内置的 Word 方法非常满意大型文档失败。
非常感谢您的帮助。
编辑:我还应该提到我需要将我的 Word 标题作为 PDF 书签。 ExportAsFixedFormat 方法可以做到这一点,但其他一些方法却没有。
【问题讨论】: