使用Google Cloud Print

时间:2016-01-04 17:29:51

标签: javascript css google-apps-script google-cloud-print

我正在编写一个程序,可以为我们的实验室自动打印标签,并提供所有相关信息。标签由Brother QL-710W标签打印机打印,标签打印由Google Cloud Print启动。当打印到高度大于宽度的页面时(例如,如果我使用小宽度标签带并打印LANDSCAPE,则没有问题;但是,如果我尝试以镜头高度打印,则页面缩放会出现问题我在这里发布一张图片来说明问题。

As page height decreases, page scales oddly

左侧的图像(显示的顶部)具有适合此打印输出的缩放,我使页面高度与宽度相同。对于中间图像,我将页面高度降低到页面宽度的大约2/3,您可以看到页面内容被缩放,左右边距被展开。最后,在适当的页面高度,几乎没有剩余空间用于页面内容。

注意:当我使用浏览器打印对话框打印页面时,我能够按预期打印图像,虽然它有两个页面而不是一个可以通过选择只打印一页来克服的页面(参见此处图像) )。 Browser printed

Google Clout打印票证如下所示:     var ticket = {      版本:“1.0”,      打印:{       duplex:{         类型:“NO_DUPLEX”       },       副本:{副本:1},       media_size:{       width_microns:62000,       height_microns:22860       },
      page_orientation:{         类型:“PORTRAIT”},        边距:{          top_microns:0,          bottom_microns:0,          left_microns:0,          right_microns:0       },        page_range:{         间隔:           [{开始:1,           端:1}]        }      }     };

云打印由“打印”按钮启动,该按钮将页面内容构建为blob:

"content"   : HtmlService.createHtmlOutput(html).getBlob(),

我试图纠正这种情况的方式:

  • 我已经将票据的边距设为0,如票中所示 以上。
  • 我还尝试编辑媒体并打印css:

    “@ media print {header nav,footer {display:none;}}”+ “@page {margin:0pt!important; padding:0pt!important; size:2.4in 0.9in;}”+

    • 我尝试过将div元素设置得更小,但正如您可以看到即使对页面高度(中间图像)进行微小更改所产生的影响,这也没有什么效果。

有人知道我在这里缺少什么吗?

2 个答案:

答案 0 :(得分:0)

当您从浏览器打印(成功)时,浏览器会将内容转换为PDF,然后再将其发送到云打印。既然这样可行,但是试图打印第二个(空白)页面,我的猜测就是空白正在你感兴趣的内容之下。

我建议您仔细查看HTML blob,并考虑将HTML转换为PDF。对于这种情况,PDF具有更高的保真度(在浏览器中查看;发送到云打印黑匣子;在标签打印机上打印)。

答案 1 :(得分:0)

我一直在进行无数次测试,试图找出为什么图像在设置为无边框打印时正在打印边框。

这可能会有所帮助。 打印了相同的源文件,结果:

JPG:无边框是,强制光栅是,打印5毫米厚的边框。 PDF:无边框是,强光栅是,打印4毫米超大的纸张。 PDF:无边框是,强制光栅没有,打印2mm薄边框。

HTML图像似乎像jpg图像一样处理。

适合和缩小纸张选项不会改变上述结果。