【问题标题】:Extracting multiple separate pages from a pdf从pdf中提取多个单独的页面
【发布时间】:2018-05-05 08:50:02
【问题描述】:

我有一个 1590 页的 pdf,我希望从第 8 页开始每 15 页提取一次。

我对@9​​87654321@非常缺乏经验,我该怎么做?

这是我目前的代码,但出现错误。

this.extractPages(5, 8, 23, 38, 53, 68, 83 ,98, 113, 128, 143, 158, 173, 188, 203, 218, 233, 248, 263, 278, 293, 308, 323, 338, 353, 368, 383, 398, 413, 428, 443, 458, 473, 488, 503, 518, 533, 548, 563, 578, 593, 608, 623, 638, 653, 668, 683, 698, 713, 728, 743, 758, 773, 788, 803, 818, 833, 848, 863, 878, 893, 908, 923, 938, 953, 968, 983, 998, 1013, 1028, 1043, 1058, 1073, 1088, 1103, 1118, 1133, 1148, 1163, 1178, 1193, 1208, 1223, 1238, 1253, 1268, 1283, 1298, 1313, 1328, 1343, 1358, 1373, 1388, 1403, 1418, 1433, 1448, 1463, 1478, 1493, 1508, 1523, 1538, 1553, 1568, 1583, "TestExtract1.pdf")

【问题讨论】:

    标签: javascript pdf batch-processing acrobat


    【解决方案1】:

    您可以在打开 PDF 的 Acrobat JS 控制台中使用以下内容。 由于它计算从0 开始的页面,因此您需要从7 开始,而不是8

    如果您将起始页和间隔设置为变量,您可以更轻松地编辑和重用脚本。

    var start=7;
    var interval=15;
    
    for (var i=start; i<this.numPages; i+=interval) {     
          if(i<=this.numPages){
           console.println(i)
           this.extractPages(i); 
          }
          else {
            console.println("pg does not exist at " + i);
          }      
     }
    

    这会将每个提取的页面作为单独的文件打开,然后您必须将其重命名并保存到您想要的位置。用那个教程搞乱了重命名和保存文件,但它不再像解释的那样工作了。也不确定if/else 检查是否是必要的,但不确定如果添加 15pgs 超过长度会发生什么并且它试图提取一个不存在的页面。

    这应该足以让您获得所需的页面。如果我让命名和保存部分正常工作,将进行编辑。 Adobe JS 文档有点乱,这个控制台很糟糕......

    【讨论】:

    • 我尝试将其粘贴到控制台中,但没有运行,它只是在我按 Enter 时添加了更多行。
    • 您显然必须选择所有行并点击“Shift”和“Enter”来运行它。注意:我这样做的一半时间,它删除了代码,你必须再次复制/粘贴它。就像我说的,控制台很糟糕......祝你好运!
    • 完美,值得注意的是它必须是Shift + NumPad Enter而不是常规返回。
    猜你喜欢
    • 2022-10-18
    • 2018-01-15
    • 1970-01-01
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 2019-02-07
    • 2022-01-01
    • 2011-05-23
    相关资源
    最近更新 更多