PDF有一个名为Javascript的工具,您可以在其中向pdf添加一些脚本,并为可变文本添加一些功能。
有没有一种方法可以通过javascript打开该pdf文件并编辑该pdf文件的一部分,然后将其另存为新的pdf文件?
谢谢。
答案 0 :(得分:0)
您可以在浏览器中打开任何文件(只要用户选择了它),即可读取数据,编辑数据并将编辑后的数据下载回硬盘(只要用户单击下载链接)。
因此,从理论上讲,您的问题的答案是肯定的。
但是,要编辑PDF的特定部分,您首先需要了解PDF文件格式。如果您可以自己解释PDF数据并更改所需的部分,则可以完成此操作。
了解PDF文件格式的另一种方法是使用库。以下库似乎也可以编辑PDF。
答案 1 :(得分:0)
您的屏幕截图显示了Acrobat Pro工具,因此答案是肯定的,尽管并非所有PDF编辑器都可以做到。
要在打开文件时运行的文档级别添加或替换JavaScript,请使用doc Object addScript方法。
您还可以使用setAction添加或替换与不同对象和事件关联的JavaScript
答案 2 :(得分:0)
Foxit PDF SDK 6.4支持以编程方式设置JavaScript。主要的API是foxit :: pdf :: actions :: JavaScriptAction.SetScript。如果您下载了评估包,则代码可以位于examples \ simple_demo \ form的简单示例演示中。如果您对https://developers.foxitsoftware.com/pdf-sdk/free-trial的评估包感兴趣。
这是代码外观的一般概念。
foxit::pdf::PDFDoc doc = foxit::pdf::PDFDoc(L"C:\path\to\your.pdf".c_str());
foxit::pdf::interform::Form form(doc);
foxit::pdf::interform::Control control(form);
foxit::pdf::annots::Widget widget= control.GetWidget();
foxit::pdf::actions::JavaScriptAction javascriptaction = foxit::pdf::actions::JavaScriptAction(widget.getAction());
javascriptaction.SetScript(L"AFSimple_Calculate(\"SUM\", new Array (\"Text Field0\", \"Text Field1\"));" );
JavaScriptAction:https://developers.foxitsoftware.com/resources/pdf-sdk/cplusplus_api_reference/classfoxit_1_1pdf_1_1actions_1_1_java_script_action.html
请注意,Foxit PDF SDK支持其他语言和平台。在这里,我只提供了C ++选项。请访问我上面链接的免费足迹页面,以了解可用的内容。
答案 3 :(得分:0)
JavaScript不是PDF中的“工具”,而是一项功能。您需要一个可解析文档内容的PDF库,以查找可能的JavaScript条目,然后根据需要进行编辑并保存生成的文档。
我公司提供了PDF Library来完成此操作。