【问题标题】:adobe illustrator script- printing custom size paperadobe illustrator script - 打印自定义尺寸纸张
【发布时间】:2022-01-04 07:22:03
【问题描述】:

我们有一台 HP 绘图仪正在工作,我正在尝试制作一个脚本,以正确的纸张尺寸打印作业。

纸张的宽度为 900 毫米,高度可以根据需要设置,但我们必须为每项工作手动设置。

我已经编写了一个在 HP 绘图仪上打印作业的脚本,但我找不到一种方法来检查画板尺寸以破坏打印方向并以画板的大小打印它 + 一些用于切割的空间。

这是我现在拥有的:

var Doc = app.activeDocument;
var abActive = Doc.artboards[Doc.artboards.getActiveArtboardIndex()];

var bounds = abActive.artboardRect;

var left = bounds[0];
var top = bounds[1];
var right = bounds[2];
var bottom = bounds[3];

var Pheight = right - left;

//Lexmark 1
//HP 2
var Lexmark = app.printerList[1].name;
var HP = app.printerList[2].name;

var PaperA3 = printerList[2].printerInfo.paperSizes[1];

var printJobOptions = new PrintJobOptions();
var options = new PrintOptions();

var coordinateOptions = new PrintCoordinateOptions();
//coordinateOptions.fitToPage = true;
coordinateOptions.orientation = PrintOrientation.AUTOROTATE ;
options.coordinateOptions = coordinateOptions;

var printPaperOpts = new PrintPaperOptions();
printPaperOpts.name = PaperA3;
printPaperOpts.height = 600;
options.paperOptions = printPaperOpts;

options.printerName = HP;
options.printPreset = "HP";

Doc.print(options);

【问题讨论】:

  • 问题解决了吗?
  • 不。解决不了,网上也没找到相关资料。

标签: printing adobe script adobe-illustrator


【解决方案1】:

不确定是否完全理解问题。可能需要澄清一些细节。

例如,这里是获取活动画板大小及其方向的 sn-p:

var doc = app.activeDocument;
var artboard = doc.artboards[doc.artboards.getActiveArtboardIndex()];

const mm = 2.834645669;

var bounds = artboard.artboardRect;
var width  = Math.round((bounds[2] - bounds[0]) / mm);
var height = Math.round((bounds[1] - bounds[3]) / mm);

var landscape = (width > height) ? true : false;

alert('height = ' + height + ' mm\nwidth = ' + width + ' mm\nlandscape: ' + landscape);

这样你就可以得到数字。代码非常简单明了。

够了吗?如果您需要帮助,请告诉我。

【讨论】:

  • 我尝试使用你的代码购买它没有工作。我的打印机有卷纸而不是纸张,所以当我想使用它时,我必须选择适合工作的自定义纸张尺寸。我脚本中的问题是,无论我做什么,纸的高度都保持在 30 厘米左右。我正在尝试找出可以使其发挥作用的纸张选项。
  • 我的代码只是计算并显示当前文件中当前画板的大小。它执行作业文件,但与打印机的打印机设置无关。下一步是根据画板面和方向更改打印机首选项。我现在什至不确定是否可能。
  • 我尝试更改许多设置,但没有任何效果。我现在要做的是一项非常肮脏的工作——我将创建许多适合我工作大小的打印配置文件,然后我将制作一个脚本来选择适合该工作的正确配置文件。
  • 是的。我会做同样的解决方法。但是我很难为您提供帮助,因为确切的解决方案取决于我认为的特定打印机驱动程序。目前我什至无法为我的打印机获得合理的结果。官方文档中的示例根本不起作用。一旦我尝试获取打印机列表等,就会出现“错误 1200”。Illustrator 的引擎是一个有问题的野兽。
【解决方案2】:

我制作了一个脚本,该脚本将根据画板大小设置预设,但它不起作用,而不是因为我的脚本。由于某种原因,即使我在预设中设置了不同的尺寸,插图画家也会将纸张尺寸设置为 A4。

从网上看应该是打印机驱动有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2012-07-05
    • 2013-03-04
    相关资源
    最近更新 更多