问题标签 [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.

0 投票
1 回答
4659 浏览

javascript - 尝试使用 flattenPages() 展平 PDF,但没有任何反应

我正在尝试使用以下代码从 VBA 调用 Acrobat Javascript API 以展平文档中的所有注释:

代码运行成功,但是当我打开 PDF 时,仍然可以编辑所有注释——展平应该使它们成为只读的,对吧?

编辑:我将第一个参数AcroDoc.Save从“1”更改为“PDSaveFull”,现在如果我运行脚本两次,注释就会变平。为什么他们不第一次变平?

更新:

我修改了脚本以获取页数并将其传递给flattenPages()每个 joelgaraci 的建议,以及将 PDF 路径传递给函数:

但这得到了相同的结果:仅在我运行脚本两次后注释才变平。

0 投票
0 回答
515 浏览

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 个文件,这似乎就会发生。

0 投票
1 回答
310 浏览

javascript - Adobe Acrobat (X):在 DataObject 和 Icon 对象之间转换

我的目标是让用户按一次按钮选择一个文件,该文件将同时用作附件按钮图标。我知道如何分别完成这些任务,但这需要我的用户选择同一个文件两次。我正在寻找一种方法:

  • 让他们将文件作为按钮图标导入,然后将图标更改为 DataObject 并将其附加到 pdf
  • 让他们将文件作为 DataObject 附件导入,然后将其转换为图标

这可能吗?我无法弄清楚这个转换步骤。

谢谢

0 投票
1 回答
173 浏览

acrobat - 自动化 Acrobat 比较文件工具

我正在尝试确定是否可以通过 API 或 JavaScript 启动带有指定 PDF 的 Acrobat DC 比较文件工具。任何帮助将不胜感激。

0 投票
1 回答
2072 浏览

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 剪贴板?

0 投票
1 回答
842 浏览

c# - 无法通过 acrobat 调用“Saveas”函数将 pdf 保存为 word。抛出反射异常

我正在尝试将 pdf 转换为 word 并通过 api 以编程方式保存它。我已经通过更改其他参考中的代码来尝试在 C# 示例文件夹中的 sdk 中给出的示例。但是我收到反射错误,因为“目标类型不匹配”。这是我的代码

将打开一个对话框并选择要转换的文件。据我所知,这是许多人的工作代码。我做错了什么。请帮忙。我的系统上安装了 Acrobat DC。这是我的版本

版本:Adobe Acrobat Pro DC 2017.009.20044

0 投票
0 回答
236 浏览

python - 优化 PDF 中的扫描页面

我正在开发一个自动化项目,该项目需要我识别扫描的 pdf(图像)中的文本。我需要在 python 中编写代码,使用 Acrobat Pro DC 中的识别文本功能将整个 PDF(扫描)转换为可读的 PDF。

到目前为止,我已经在 python 中编写了以下代码:

这会打开 pdf 文件并将我带到包含“识别文本”按钮的屏幕。如何单击该按钮并获得所需的输出?

0 投票
1 回答
430 浏览

c# - 从文本中获取字体和字体大小?

我想做一个自动查找字体的应用程序。

因此,我尝试使用 Acrobat SDK 从 PDF 文本中获取字体和字体大小。

我检查了样品和文件,但找不到。

我的工具:Visual Studio、C#、Acrobat DC、Acrobat DC SDK

  • 例如 Acrobat DC 上的 PDF 文本、字体和字体大小 在此处输入图像描述

此致

0 投票
1 回答
404 浏览

javascript - 使用 Acrobat Reader 的保护模式规则 FILES_ALLOW_READONLY

对于 Adob​​e Reader 的保护模式,我使用的是 FILES_ALLOW_READONLY 策略例外,我想知道这是否是合理的安全风险?

我正在使用 Adob​​e 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 功能仍然有效。但是,我不知道漏洞减少了多少,或者可用性会受到多少负面影响。

关于该规则是否具有合理风险取决于漏洞被利用的可能性。对于典型的工作站,这种利用的可能性有多大?

0 投票
1 回答
2607 浏览

c# - 在 .Net 中减小 pdf 大小

我有一个pdf大小为 230KB 的模板。在我WebAPI的多个用户中,获取该模板的副本,将数据推送给它,并使用iTextsharp库进行合并。对于 1500 个用户,总文件大小达到 320 MB。

我尝试使用BitMiracle,它将文件大小减小到 160 MB。但它仍然是一个大文件。

我使用acrobat Pro并使用了Save as Otheroption Reduced Size PDF,它将文件大小减小到 25 MB。

我想在我的 WebAPI 中将文件大小减少到 25MB,稍后C#将使用它托管在服务器上。

由于用户不应该编辑它PDF,他只会将其存储为记录。我可以生成一个后期脚本文件,然后使用 acrobat distiller 来减小大小吗?如果可以,我该怎么做?

我正在使用ghostscript.Net. 写了这个方法,它没有抛出任何错误。但我找不到生成的后记文件的路径

请帮忙