从命令行运行Adobe Acrobat操作(NodeJS)

时间:2017-03-22 15:40:57

标签: node.js pdf acrobat

我试图将某些PDF文件转换为PDF / X-1A格式。我已经在Acrobat中创建了一个动作来执行此操作,我想在使用当前进程创建新的PDF文件时从NodeJS调用此动作。然后我想将转换后的文件提供给用户。似乎没有任何其他解决方案以Acrobat Pro的方式转换/压缩PDF,所以这就是我追求这个选项的原因。

我的流程基本如下:

genPdf:function(content,cb){
    // Config for PDF generation, etc
    // ...

    pdfGenerator.doConversion(config, pdfPath, function(result) {
        // After file is generated, I want to call my adobe action
        var cmd = 'call_adobe_acrobat_action_cmd';

        exec(cmd, function(error, stdout, stderr) {
          // After action is called I'll initiate a watch on the directory that the action will write the converted file to
          // When conversion has completed, I will serve the converted file back to the user
        });
    }
}

2 个答案:

答案 0 :(得分:1)

Acrobat插件AutoBatch将允许您创建一个.bat文件,该文件将启动Acrobat并运行一个给定的"动作"你已经在Acrobat中定义了。

请注意,AutoBatch不是免费的。

AutoBatch创建的批处理文件实际上只是设置了一些环境变量,这些变量可能是由Acrobat插件选取的,这反过来会触发您的操作。

AutoBatch生成的示例.bat文件:

SET AUTOBATCHSEQU=C:\Users\IEUser\AppData\Roaming\Adobe\Acrobat\10.0\Sequences\myaction.sequ
SET AUTOBATCHFINAL=0
SET AUTOBATCHDEST=
SET AUTOBATCHALTPATH=%1
SET AUTOBATCHALTOUTPUTPATH=%2
SET AUTOBATCHNOPROGRESS=no
SET AUTOBATCHFILEEXT=
SET AUTOBATCHNOSUBFOLDERS=no
"C:\Program Files\Adobe\Acrobat 10.0\Acrobat\Acrobat.exe" /n /h

答案 1 :(得分:0)

以这种方式使用它实际上违反了Acrobat许可协议。 Acrobat Actions可以处理多个文件,但Action需要由用户触发。

查看pdfToolbox Server,以便从PDF到PDF / X进行服务器端自动转换。