首页 > 解决方案 > 如何在 VBA 中使用 Foxit 将 png 文件转换为 pdf

问题描述

所以我的 IT 部门在周末用 Foxit 替换了 Acrobat,我需要更改一些使用 Acrobat API 将 png 文件保存为 pdf 的 VBA 脚本。

根据 IT 部门提供的 API 参考指南,看起来就像在公园里散步

http://cdn01.foxitsoftware.com/pub/foxit/manual/phantom/en_us/API%20Reference%20for%20Application%20Communication.pdf

它甚至有一个关于将非 PDF 转换为 PDF 的方便部分:

phCreator.ConvertToPDF("D:\image.png", " D:\image.png.pdf")

易于理解:提供来源和目的地。但那是针对 Foxit 9 的,我电脑上安装的版本是 Foxit 10,示例代码不起作用。本指南中描述了 Foxit 10 的 API:

http://cdn01.foxitsoftware.com/pub/foxit/manual/phantom/en_us/APIReferenceforApplicationCommunication10.0.pdf

本指南还有一个名为将非 PDF 转换为 PDF 的部分,但看起来它做了一些完全不同的事情,打开了一个将 Excel 工作表转换为 PDF 的指南。

通过 Excel 中的对象浏览器查看我无法弄清楚如何使用 Foxit 10 将 PNG 转换为 pdf。有人有解决方案吗?

标签: excelvbapdfacrobatfoxit

解决方案


您已将 Foxit 的更新版本确定为使用 Phantom API 的第 10 版,并且实际上已经研究了先前的示例,因此基本上在没有 IT 部门支持的情况下找到了您需要的所有信息 :-)

我只是指出该部分:-

“将多个文档合并为 PDF”

Dim phCreator As FoxitPhantomPDF.Creator
Set phCreator = CreateObject("FoxitExch.Creator")
Dim nCombinedCnt As Integer
nCombinedCnt = phCreator.CombineFiles("D:\image1.png|image2.png", "D:\combineFiles_files.pdf", 
COMBINE_ADD_CONTENTS)
Call phCreator.CombineFiles("D:\CombineFiles", "D:\combineFiles_folder.pdf", 
COMBINE_ADD_CONTENTS)

注意:路径“D:\CombineFiles”是一个文件夹,其中包含多个受支持的文件。

对于一个 PDF 中的多个 PNG 来说,这将是一个很好的起点。一个或多个页面上的单个 PNG 的替代方案作为“水印”示例给出。


推荐阅读