- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
尝试解决与 html 中的条形码相关的问题。我需要做的是创建一个带有条形码的标签模板并将其发送到打印机。我选择使用 html 语言来创建带有输入数据的模板。我可以得到那个 html,它看起来像图片中这样。 然而,然后我尝试打印该 html,我得到了该标签,但没有打印条形码。所以我尝试将其转换为 pdf 并发送到打印机,但每当我尝试转换为 pdf 时,我都会得到转换后的 pdf,该标签没有条形码。尝试使用一些不同的库(pdfkit、pdfcrowd、PyQt4.QtGui
),但没有保存带有条形码的pdf。附上脚本:
for index, row in output_ramco.iterrows():
print row['PARTNOMLT_OUT']
htmlas = '''
<html><head>
<meta name="author" content="VS">
<meta name="description" content="include bar code type code39 in html files with javascript">
<meta name="keywords" content="code39, javascript">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" src="code39.js"></script>
</head>
<body style="font-family:Verdana; font-size:11pt">
<style type="text/css" media = "print">
@page
{
size: auto; /* auto is the current printer page size */
margin: 3mm; /* this affects the margin in the printer settings */
}
.tg {border-collapse:collapse;border-spacing:0;}
.tg td{font-family:Arial, sans-serif;font-size:8px;padding:5px 4px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg th{font-family:Arial, sans-serif;font-size:8px;font-weight:normal;padding:5px 4px;border-style:solid;border-width:0px;overflow:hidden;word-break:normal;}
.tg .tg-9hbo{font-weight:bold;vertical-align:top}
.tg .tg-yw4l{vertical-align:top}
</style>
<script language="JavaScript">
document.open();
Code39("12","175",20,1800,"'''+str(row['PARTNOMLT_OUT'])+'''");
Code39("12","197",20,1800,"'''+str(row['LOTSN'])+'''");
document.close();
</script>
<table class="tg" cellspacing="0" cellpadding="0">
<tr>
<td class="tg-9hbo">PN:</td>
<td class="tg-yw4l" colspan="2">'''+str(row['PARTNOMLT_OUT'])+'''</td>
<td class="tg-9hbo">QTY:</td>
<td class="tg-yw4l">'''+str(row['KIEKIS'])+'''</td>
</tr>
<tr>
<td class="tg-yw4l" colspan="5">'''+str(row['PARTDESCMLT_OUT'])+'''</td>
</tr>
<tr>
<td class="tg-9hbo">LOT/SN#:</td>
<td class="tg-yw4l" colspan="4">'''+str(row['LOTSN'])+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Stock Status:</td>
<td class="tg-yw4l" colspan="4">'''+row['STATUSMLT_OUT']+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Shelf Life Expiry Dt.:</td>
<td class="tg-yw4l" colspan="4">'''+row['EXP_DATE']+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Certificate Type/No:</td>
<td class="tg-yw4l" colspan="4">'''+str(row['CERTAI'])+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Source Document #</td>
<td class="tg-yw4l" colspan="4">'''+str(row['SOURCE_DOC'])+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Storage Area:</td>
<td class="tg-yw4l" colspan="4">'''+str(row['STORAGE'])+'''</td>
</tr>
<tr>
<td class="tg-9hbo">Owner # :</td>
<td class="tg-yw4l" colspan="4">'''+row['OWNERIS']+'''</td>
</tr>
<tr>
<td class="tg-yw4l" colspan="5">11</td>
</tr>
<tr>
<td class="tg-yw4l" colspan="5">11</td>
</tr>
<tr>
<td class="tg-yw4l">EIA Issue 2</td>
<td class="tg-9hbo">Generated On:</td>
<td class="tg-yw4l" colspan="3">'''+str(row['GENERATED'])+'''</td>
</tr>
</table>
</body>
</html>
'''
try:
with open(dir_files+'html_test.html', 'w') as file:
file.write(htmlas.encode('UTF-8'))
except Exception, e:
log_error()
######1st
#from PyQt4.QtGui import QTextDocument, QPrinter, QApplication
#import sys
#app = QApplication(sys.argv)
#doc = QTextDocument()
#location = "html_test.html"
#html = open(location).read()
#doc.setHtml(html)
#printer = QPrinter()
#printer.setOutputFileName("foo.pdf")
#printer.setOutputFormat(QPrinter.PdfFormat)
#printer.setPageSize(QPrinter.A4);
#printer.setPageMargins (15,15,15,15,QPrinter.Millimeter);
#doc.print_(printer)
######2nd
#import pdfcrowd
#client = pdfcrowd.Client("orangutangas", "pwd")
#output_file = open('htmlas.pdf', 'wb')
#client.convertHtml(htmlas, output_file)
#output_file.close()
#########3rd
#path_wkthmltopdf = r'C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe'
#config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
#pdfkit.from_string(htmlas, 'out.pdf',configuration=config)
那么我如何翻译 html 或制作 jpg/pdf 文件,以便打印机可以读取此信息并使用条形码标签正确打印?
最佳答案
ReportLab 在这种情况下非常好用。我不确定我在哪里找到这个代码。但这确实对我有帮助。
from reportlab.graphics.barcode import code39, code128, code93
from reportlab.graphics.barcode import eanbc, qr, usps
from reportlab.graphics.shapes import Drawing
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import mm
from reportlab.pdfgen import canvas
from reportlab.graphics import renderPDF
def createBarCodes():
"""
Create barcode examples and embed in a PDF
"""
c = canvas.Canvas("barcodes.pdf", pagesize=letter)
barcode_value = "1234567890"
barcode39 = code39.Extended39(barcode_value)
barcode39Std = code39.Standard39(barcode_value, barHeight=20, stop=1)
# code93 also has an Extended and MultiWidth version
barcode93 = code93.Standard93(barcode_value)
barcode128 = code128.Code128(barcode_value)
# the multiwidth barcode appears to be broken
#barcode128Multi = code128.MultiWidthBarcode(barcode_value)
barcode_usps = usps.POSTNET("50158-9999")
codes = [barcode39, barcode39Std, barcode93, barcode128, barcode_usps]
x = 1 * mm
y = 285 * mm
x1 = 6.4 * mm
for code in codes:
code.drawOn(c, x, y)
y = y - 15 * mm
# draw the eanbc8 code
barcode_eanbc8 = eanbc.Ean8BarcodeWidget(barcode_value)
bounds = barcode_eanbc8.getBounds()
width = bounds[2] - bounds[0]
height = bounds[3] - bounds[1]
d = Drawing(50, 10)
d.add(barcode_eanbc8)
renderPDF.draw(d, c, 15, 555)
# draw the eanbc13 code
barcode_eanbc13 = eanbc.Ean13BarcodeWidget(barcode_value)
bounds = barcode_eanbc13.getBounds()
width = bounds[2] - bounds[0]
height = bounds[3] - bounds[1]
d = Drawing(50, 10)
d.add(barcode_eanbc13)
renderPDF.draw(d, c, 15, 465)
# draw a QR code
qr_code = qr.QrCodeWidget('www.mousevspython.com')
bounds = qr_code.getBounds()
width = bounds[2] - bounds[0]
height = bounds[3] - bounds[1]
d = Drawing(45, 45, transform=[45./width,0,0,45./height,0,0])
d.add(qr_code)
renderPDF.draw(d, c, 15, 405)
c.save()
if __name__ == "__main__":
createBarCodes()
关于python - 生成带条形码的数据标签(html或jpg或pdf)并打印它(现在不生成条形码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38100239/
我有一个正在动态生成的条形码,并希望传递给 gsp,该 gsp 稍后将变成 pdf。我不需要出于自己的任何目的保留条形码,只想将图像从 Controller 传递到 gsp。 有没有办法渲染作为变量传
我正在研究苹果“passkit”框架。我已经制作了 lolipop 优惠券,正如它在 guide 中所说的那样. - 创建证书(Apple Dev 网站)我已经编译了.pkpass。 现在我必须使用动
我有这样的代码 $('.testbarcode').barcode('1234567', "code128"); 当我设置样式时它是折线,那么我如何才能将此条码的宽度设置得
我正在将 Visual Basic 应用程序转换为 Python Django。目前,它具有条形码功能来处理商店的销售。这可以用 python django 实现吗? 最佳答案 如果您对条形码功能的定
我正在尝试按照此示例使用条形码 API https://github.com/googlesamples/android-vision/tree/master/visionSamples/barcod
这是我到目前为止所得到的: def encodeFive(zip): zero = "||:::" one = ":::||" two = "::|:|" t
我正在尝试创建具有本文所示格式的条形码:http://www.thebookdesigner.com/2009/10/self-publishing-basics-deciphering-the-bo
我需要一些关于如何从 bmp 文件中获取 12 位条形码的指导,我完全不知道如何处理这个问题。我首先将图像读入 bitmam,我该如何继续? 例子:下图的条码是081034489030。我如何获得这些
谁能告诉我从哪里开始编码以便从 C# 中的 OPOS(Datalogic Magellan 设备)加权和条形码扫描中获取数据?例如,在这种情况下我应该使用什么库和什么函数。我一无所知,因为我已经花了很
使用 zxing,我设法将 Code39 条形码保存为 PNG,但它只显示条形,没有数字。我怎样才能在一个 PNG 中包含条形码和编号? KI 最佳答案 您无法使用 zxing 添加号码。您可以做一些
我正在尝试将扫描的条形码用作 SQL 查询中的变量。我正在使用 Google ML Kit Quick Start项目。我有一个使用 jtds1.3.1 制作的连接和查询功能。我只是无法获得要在查询中
我尝试让程序从下面的代码中读取 EAN13,但它不起作用 func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metada
我必须读取 PDF 文件中的数据矩阵代码,我正在研究其可能性,对此我有一些疑问: 1.- 我与 Itext 合作,我正在寻找有关使用此库读取此 QR 条形码的可能性的信息,但我没有相关结果,这可能吗?
文档和头文件不包含任何与支持 3D 条形码相关的信息。但是,明确提到 AVMetadataMachineReadableCodeObject 支持一维和二维条码。因此,有人知道 AVFoundatio
我一直在寻找解决方案,到目前为止,我认为对我的项目来说最好的解决方案是使用免费的 Code 39 字体。但是,我已经尝试打印一些样本,但我的条形码扫描仪无法读取它们。 我进行了更多研究,偶然发现了 t
生成 3 of 9 很容易条形码使用 Font() Font f = new Font("Free 3 of 9", 80); this.Font = f; Label l = new Label()
愚蠢的我,我以为只要用条形码字体写一些文本,就会让扫描仪读取它。看来我错了。 所以在阅读了一些关于 code128 条形码的文档之后,我了解到: 条形码以(103、104 或 105 取决于类型)开头
我想在 WPF 应用程序中区分(条形码)扫描仪和键盘输入。 我需要的是每当我的扫描仪提供数据时发生的事件。 在我的应用程序中有一个特殊的字段,它将填充来自扫描仪的输入。因此,如果用户关注其他领域,我不
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
是否可以将 ZPL 和二进制数据用于 aztec 条形码? 我尝试使用BluetoothConnection写入发送以UTF8和字节数据编码的字符串连接数组/ String zplStart; byt
我是一名优秀的程序员,十分优秀!