gpt4 book ai didi

Acrobat X 中的 JavaScript : Printing Ranges of Pages

转载 作者:行者123 更新时间:2023-12-01 01:20:33 25 4
gpt4 key购买 nike

在 Adob​​e Acrobat(版本 X)中,我想以某种不寻常的顺序将书籍的页面发送到打印机。事实证明,这比我想象的要困难。由于 Acrobat 的打印对话框仅接受手动输入的页面范围最多 100 个字符,因此我需要更好的解决方案。

我希望我可以通过 Javascript 来做到这一点。

为了进行测试,我使用了以下内容:

var pp = this.getPrintParams();
pp.printRange = [[2,5], [8,8], [10,10]];
this.print(pp);

应该打印第 3-6、9、11 页

但是,它并没有这样做。我打印的总是整本书(300 页)。

这里有什么问题?

注意:我的真实打印作业

上面使用的页面范围仅用于测试。我最终想要的是按特定顺序打印页面,例如

> 1, 151, 152, 2, 3, 153, 154, 4... 等等

显然必须将其转换为基于 0 的

> [0,0],[150,150],[151,151],[1,1]...

或者至少,我想是这样。

当我的数组(页面)长达 300 个项目(或更多)时,可能会出现另一个问题,并且我不知道 pp.printRange 是否接受那么多...

另一个测试

我也尝试过

var pages = [[0,0],[150,150],[151,151],[1,1]]
var pp = this.getPrintParams();
pp.printRange = pages;
this.print(pp);

结果:Acrobat 再次忽略页码数组并顽固地打印整个文档。

打印只是一种方式...

我的任务是重新排序一本书的页面(遵循一定的算法)。以某种新的顺序打印它们只是我重新排序它们的懒惰解决方案。如果可以以其他方式进行重新排序(例如提取然后按所需顺序重新组合),这也将是一个解决方案。

最佳答案

不幸的是,答案是 Acrobat 版本 11 (XI) 首先支持 printRange 参数。您可以从 documentation 查看这些内容.

我建议您无论如何,按照文档中的建议检查脚本中的版本:

if (typeof app.viewerVersion != "undefined" && app.viewerVersion >= 11.0)
{
// Perform version specific operations.
}

然后,如果不支持 printRange,您当然可以诉诸其他方法。例如,您可以暂时删除不需要的页面,然后打印整个文档 - 这有点 hackish,但仅影响 XI 以下的版本。

关于Acrobat X 中的 JavaScript : Printing Ranges of Pages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com