Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux中带有CUPS的GoDEX打印机中的条形码太宽_Linux_Pdf_Ghostscript_Cups_Barcode Printing - Fatal编程技术网

Linux中带有CUPS的GoDEX打印机中的条形码太宽

Linux中带有CUPS的GoDEX打印机中的条形码太宽,linux,pdf,ghostscript,cups,barcode-printing,Linux,Pdf,Ghostscript,Cups,Barcode Printing,我有一台GoDEX RT700i打印机(203 DPI),我想在Linux(Ubuntu 16.04)中打印条形码 我的条形码是PDF格式的。条形码下方有一个8位数字 在Windows中,GoDEX驱动程序没有问题。条形码和数字打印得很完美。 注意:如果我从GoogleChrome打印PDF,看起来很好,但是如果我从Adobe Acrobat阅读器打印PDF,它看起来就像Linux中的那样 在Linux中,当我打印条形码时,数字的数字与Windows相同,条形码的高度也可以,但每个条形码的宽度都

我有一台GoDEX RT700i打印机(203 DPI),我想在Linux(Ubuntu 16.04)中打印条形码 我的条形码是PDF格式的。条形码下方有一个8位数字

在Windows中,GoDEX驱动程序没有问题。条形码和数字打印得很完美。 注意:如果我从GoogleChrome打印PDF,看起来很好,但是如果我从Adobe Acrobat阅读器打印PDF,它看起来就像Linux中的那样

在Linux中,当我打印条形码时,数字的数字与Windows相同,条形码的高度也可以,但每个条形码的宽度都大于pdf中显示的宽度

我怎样才能解决这个问题


左一个在Linux中打印,右一个在Windows中打印

还有一些补充信息: 对于Linux,我已经编译并安装了CUPS的GoDEX驱动程序,然后通过AppSocket/HP JetDirect添加了打印机,带有IP和端口(9100)。
然后,我选择PPD文件godex-rt-700i.PPD

这两行在ppd文件中。可能与问题有关:

 TTRasterizer: Type42
 *cupsFilter: "application/vnd.cups-raster 50 rastertoezpl"
当我发送打印订单时,我意识到该作业有3个过滤器:

pdftopdf (application/pdf to application/vnd.cups-pdf, cost 66)
gstoraster (application/vnd.cups-pdf to application/vnd.cups-raster, cost 99)
rastertoezpl (application/vnd.cups-raster to printer/GODEX-RT700i, cost 50)
在rastertoezpl.c文件中,我看到有一个函数(GDXCompress),用于压缩Godex打印机的输出行
我认为压缩可能会对条形码产生某种影响,我尝试停用该功能(CompBuffer=NULL)并重新编译驱动程序,但这并没有解决任何问题

这些是每个过滤器的输出: (原始和中间输出)

当我将文件发送到打印时,这两个文件是由/var/spool/cups/中的cups生成的:
d00122-001(pdf)
c00122(未知)

一,。pdftopdf(/usr/lib/cups/filter/pdftopdf):
/usr/lib/cups/daemon/cups exec-g7-n0-u7 none/usr/lib/cups/filter/pdftopdf MY_打印机122 MY_用户00000378 1“PageSize=Custom.56.69x65.20 Collate ColorModel=Grayscale Duplex=None job uuid=urn:uuid:7f84fc46-1965-35d2-6a72-e2e73ab0264b job origing host name=localhost date time at creation=date time at processing=1488464765 time at processing=1488464765”/var/spool/cups/d0012-001>output_pdf2pdf.pdf
输出_pdf2pdf.pdf(pdf)

2.gstoraster(/usr/lib/cups/filter/gstoraster):
/usr/lib/cups/daemon/cups exec-g7-n0-u7 none/usr/lib/cups/filter/gstoraster MY_打印机122 MY_用户00000378 1“PageSize=Custom.56.69x65.20 Collate ColorModel=Grayscale Duplex=None job uuid=urn:uuid:7f84fc46-1965-35d2-6a72-e2e73ab0264b作业原始主机名=本地主机创建时的日期时间=处理时的日期时间=创建时的时间=1488464765处理时的时间=1488464765“
输出\u gstoraster.ras(ras)
此文件可以通过程序打开

3.rastertoezpl(/usr/lib/cups/filter/rastertoezpl):
/usr/lib/cups/daemon/cups exec-g7-n0-u7 none/usr/lib/cups/filter/rastertoezpl我的打印机122我的用户00000378 1“PageSize=Custom.56.69x65.20 Collate ColorModel=Grayscale Duplex=None job uuid=urn:uuid:7f84fc46-1965-35d2-6a72-e2e73ab0264b作业原始主机名=本地主机创建时的日期时间=处理时的日期时间=创建时的时间=1488464765处理时的时间=1488464765”
它不创建任何文件。它直接将打印机订单发送到打印机

版本:
您正在使用各种组件的哪些版本(CUPS、pdftpdf和Ghostscript)

您是否检查了pdftopdf生成的中间文件以查看PDF文件的外观

您是否检查过gstoraster生产的CUPS光栅,以确定其是否正确

我们讨论的差别到底有多大?一个像素,一英寸?请记住,这显然是一个203 dpi的设备,所以一个像素相当大

考虑到管道中有3个阶段,您应该做的第一件事是尝试找出导致问题的步骤。首先捕获每个阶段的输出;由pdftopdf生成的PDF,然后是由gstoraster生成的CUPS光栅文件。您可以分别检查每个步骤,看看它们是否显示了问题。如果不要这样做,那么问题必须来自最后一步“rastertoezpl”,您将需要了解该代码的人。否则,您将能够确定问题是pdftopdf步骤还是GSTORSTER步骤。在任何情况下,您都可以请求特定的帮助

PPD文件的内容在这里不太可能有任何影响(除了指定驱动打印机所需的最终过滤器)。当然,如果看不到原始文件,很难说清楚,可能条形码是TrueType字体

[编辑]

在你的问题中,我仍然看不到Ghostscript命令行。我无法运行CUPS,也无法构建RasterView,因为它需要一系列我根本没有的依赖项

但是,我可以将它运行到TIFF。当分辨率足够低时,结果与您的照片相同

您的问题在我在下面的评论中发布的bug线程的评论17和18中描述。PostScript(和PDF)成像模型表示,当触摸到像素的任何部分时,整个像素都会渲染到输出

您的PDF将条形码绘制为一系列(矢量)矩形,使用坐标和尺寸,这些坐标和尺寸与设备的基本像素不精确对齐

如果您使用Adobe Acrobat和“另存为”TIFF,您将看到完全相同的问题(您需要使用“另存为”对话框上的“设置”按钮将输出分辨率设置为203 dpi)

关于这个问题,有很多关于bug线程的讨论,有很多可能的解决方案

  • 编写PostScript(或PDF),以便坐标精确地固定在设备网格上。这可能很难做到,尤其是通过pdf2pdf运行文件时
  • Ghostscript = GPL Ghostscript 9.18 Artifex Software
    cups = 2.1.3-4
    pdftopdf = cups-filters 1.8.3-2ubuntu3.1