我正在使用一个使用 PDFReactor 5.1 的已建立的应用程序。公司暂时不会升级它(可能再过 1-2 年)。
我的任务是构建功能以从基于 C# 的 Web 应用程序合并 pdf 文件(附加所有 pdf 文件)。
阅读该工具的旧文档(从 2012 年开始),我发现他们提出了这种用法:
要合并多个 PDF,请使用 setMergeURLs 或 setMergeByteArrays 方法
String[] urls = {"http://www.myserver.com/overlaid1.pdf", "http://www.myserver.com/overlaid2.pdf"}; pdfReactor.setMergeURLs(urls); pdfReactor.setMergeMode(PDFreactor.MERGE_MODE_APPEND);
但是,文档没有指定调用什么方法来渲染合并的 pdf 并且setMergeURLs没有返回值 ( public void SetMergeURLs(string[] urls))
当我浏览客户端 DLL 时,我可以看到有 3 种渲染方法,但它们都需要一些输入(大概除了您设置的 pdf 之外setMergeURLs):
public byte[] RenderDocumentFromByteArray(byte[] byteArray)public byte[] RenderDocumentFromContent(string content)byte[] RenderDocumentFromURL(string URL)
我尝试使用这 3 种渲染方法,但它们只会导致空数组出现以下错误:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
似乎 PDF 反应器正在尝试从 XML 转换为 pdf 而不是合并...
我错过了什么?