问题标签 [acrobat-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 尝试使用 flattenPages() 展平 PDF,但没有任何反应
我正在尝试使用以下代码从 VBA 调用 Acrobat Javascript API 以展平文档中的所有注释:
代码运行成功,但是当我打开 PDF 时,仍然可以编辑所有注释——展平应该使它们成为只读的,对吧?
编辑:我将第一个参数AcroDoc.Save
从“1”更改为“PDSaveFull”,现在如果我运行脚本两次,注释就会变平。为什么他们不第一次变平?
更新:
我修改了脚本以获取页数并将其传递给flattenPages()
每个 joelgaraci 的建议,以及将 PDF 路径传递给函数:
但这得到了相同的结果:仅在我运行脚本两次后注释才变平。
javascript - 经过多次迭代,对 Acrobat API 的 VBA 调用开始返回“远程过程调用失败”
我正在尝试遍历一堆 PDF,并且对于每个 PDF,使用 Acrobat API 将其展平以访问 PDF 的 JS 对象。因为 VBA 没有代码可访问的堆栈跟踪,所以我有一个包装器类AcroExchWrapper
,它包装每个 Acrobat API 函数以在它失败时识别该函数,例如
每个 PDF 都使用以下代码展平:
在浏览了数千个文件后——每次运行脚本时数字都不同——flattenPages()
引发以下错误:
之后,对于所有剩余的文件,在flattenPDF()
运行时,第一次调用会acroExch.ClosePDF()
引发此错误:
我找不到任何文档说明为什么在使用 Acrobat API 时会出现这些错误,无论是使用 Javascript API ( jso.flattenPages()
) 还是 IAC API ( PDDoc.Close()
)。更神秘的是,应用程序运行良好,直到它到达一些不同数量的文件,然后才开始抛出这些异常。
编辑:我添加了以下功能来AcroExchWrapper
重置 Acrobat,每 100 个文件执行一次:
但是,仍然会抛出相同的异常。一旦处理了 1500-2500 个文件,这似乎就会发生。
javascript - Adobe Acrobat (X):在 DataObject 和 Icon 对象之间转换
我的目标是让用户按一次按钮选择一个文件,该文件将同时用作附件和按钮图标。我知道如何分别完成这些任务,但这需要我的用户选择同一个文件两次。我正在寻找一种方法:
- 让他们将文件作为按钮图标导入,然后将图标更改为 DataObject 并将其附加到 pdf
- 让他们将文件作为 DataObject 附件导入,然后将其转换为图标
这可能吗?我无法弄清楚这个转换步骤。
谢谢
acrobat - 自动化 Acrobat 比较文件工具
我正在尝试确定是否可以通过 API 或 JavaScript 启动带有指定 PDF 的 Acrobat DC 比较文件工具。任何帮助将不胜感激。
vba - 将所有文本从 PDF 复制到 Windows 剪贴板
我正在使用 VBA (MS Office 2010) 并希望从我经常在 Outlook 中收到的 PDF 附件中提取一些关键词。
我计划将 PDF 保存为 Word 文档并从中提取文本,但显然我无法以编程方式执行此操作,因为我使用的是 Acrobat X Standard(似乎我需要 Pro)。
因此,我现在正在寻找一种使用 Acrobat 库方法将所有文本从 PDF 文档复制到 Windows 剪贴板的方法。然后我将粘贴到 Word 中(手动完成此复制/粘贴工作正常 - 不会损坏文本)。
我使用 Acrobat 的经验非常有限,并且正在审查 Acrobat SDK 资源等,但证明具有挑战性。
如何使用 VBA 中的 Acrobat 库方法选择 PDF 文档中的所有文本并将其复制到 Windows 剪贴板?
c# - 无法通过 acrobat 调用“Saveas”函数将 pdf 保存为 word。抛出反射异常
我正在尝试将 pdf 转换为 word 并通过 api 以编程方式保存它。我已经通过更改其他参考中的代码来尝试在 C# 示例文件夹中的 sdk 中给出的示例。但是我收到反射错误,因为“目标类型不匹配”。这是我的代码
将打开一个对话框并选择要转换的文件。据我所知,这是许多人的工作代码。我做错了什么。请帮忙。我的系统上安装了 Acrobat DC。这是我的版本
版本:Adobe Acrobat Pro DC 2017.009.20044
python - 优化 PDF 中的扫描页面
我正在开发一个自动化项目,该项目需要我识别扫描的 pdf(图像)中的文本。我需要在 python 中编写代码,使用 Acrobat Pro DC 中的识别文本功能将整个 PDF(扫描)转换为可读的 PDF。
到目前为止,我已经在 python 中编写了以下代码:
这会打开 pdf 文件并将我带到包含“识别文本”按钮的屏幕。如何单击该按钮并获得所需的输出?
javascript - 使用 Acrobat Reader 的保护模式规则 FILES_ALLOW_READONLY
对于 Adobe Reader 的保护模式,我使用的是 FILES_ALLOW_READONLY 策略例外,我想知道这是否是合理的安全风险?
我正在使用 Adobe Reader Javascript 程序来保存和恢复打开的选项卡: Adobe Acrobat Reader Tabs Saving And Autoloading
由于 Acrobat Reader 的默认保护模式策略,该程序不适用于某些 pdf 文件。在程序的 LoadTabs 函数中,app.openDoc 对某些文件失败,例如 c:\users\myUserid 下的文件
默认的保护模式策略在这里: https ://www.adobe.com/devnet-docs/acrobatetk/tools/AppSec/protectedmode.html
关闭保护模式可以绕过这个问题,但这似乎太冒险了。(首选项->安全(增强)->“启动时启用保护模式”)
风险较小的解决方案是创建一个策略文件,其规则为:FILES_ALLOW_READONLY=c:\users\myUserid\*
对于典型的工作站,这条规则是否存在合理的风险?
编辑: 我后来在保护模式政策规范中读到了这一点(链接在上面),“在 11.0 中,读者的保护模式确实阻止沙箱读取这些位置中的任意文件 [(例如,MyDocuments)]。这个增强 [在 11.0 ] 使恶意 PDF 更难窃取用户的机密信息。”
因此,我对 FILES_ALLOW_READONLY 的使用创建了一个漏洞,该漏洞可能允许恶意 PDF 窃取 c:\users\myUserid\* 下的信息
似乎可以通过禁用 Acrobat Javascript 来减少漏洞,如此链接中所述。 https://helpx.adobe.com/acrobat/using/javascripts-pdfs-security-risk.html
禁用 Acrobat Javascript 后,选项卡 Javascript 功能仍然有效。但是,我不知道漏洞减少了多少,或者可用性会受到多少负面影响。
关于该规则是否具有合理风险取决于漏洞被利用的可能性。对于典型的工作站,这种利用的可能性有多大?
c# - 在 .Net 中减小 pdf 大小
我有一个pdf
大小为 230KB 的模板。在我WebAPI
的多个用户中,获取该模板的副本,将数据推送给它,并使用iTextsharp
库进行合并。对于 1500 个用户,总文件大小达到 320 MB。
我尝试使用BitMiracle
,它将文件大小减小到 160 MB。但它仍然是一个大文件。
我使用acrobat Pro
并使用了Save as Other
option Reduced Size PDF
,它将文件大小减小到 25 MB。
我想在我的 WebAPI 中将文件大小减少到 25MB,稍后C#
将使用它托管在服务器上。
由于用户不应该编辑它PDF
,他只会将其存储为记录。我可以生成一个后期脚本文件,然后使用 acrobat distiller 来减小大小吗?如果可以,我该怎么做?
我正在使用ghostscript.Net
. 写了这个方法,它没有抛出任何错误。但我找不到生成的后记文件的路径
请帮忙