page_range 在 Google 云打印票证

page_range in Google Cloud Print Ticket

我正在尝试编写一个程序,使用 Google 云打印仅打印文档的第一页。除了 page_range 之外,我已经获得了所有参数的工作,并且无法破译关于这个问题的开发人员指南。有谁能告诉我我为 page_range 使用的格式有什么问题吗?我正在使用 JavaScript 列表

var ticket = {
 version: "1.0",
 print: {
  color: {
    type: "STANDARD_COLOR",
    vendor_id: "Color"
  },
  duplex: {
    type: "NO_DUPLEX"
  },
  copies: {copies: 1},
  media_size: {
     width_microns: 27940,
     height_microns:60960
  },
  page_orientation: {
    type: "LANDSCAPE"  
  },
   margins: {
     top_microns:0,
     bottom_microns:0,
     left_microns:0,
     right_microns:0
  },
  page_range: {
    interval: {
      start:1,
      end:1
    }
  }
 }
};

page_range 包含一个名为 interval 的重复字段。它被重复,以便您可以请求多个范围:

// Ticket item indicating what pages to use.
message PageRangeTicketItem {
  repeated PageRange.Interval interval = 1;
}

PageRange.Interval 看起来像这样:

// Interval of pages in the document to print.
message Interval {
  // Beginning of the interval (inclusive) (required).
  optional int32 start = 1;

  // End of the interval (inclusive). If not set, then the interval will
  // include all available pages after start.
  optional int32 end = 2;
}

所以尝试打印第 1 页和第 6-7 页:

page_range: {
  interval: [
    {
      start: 1,
      end: 1
    },
    {
      start: 6,
      end: 7
    }
  ]
}

我推荐你使用这种方式

page_range: { interval: [ { start: 1, end: 7 } ] }