使用LeadTools将QR条形码写入PDF文件.但是输出PDF的质量看起来非常糟糕
本文关键字:PDF 输出 看起来 非常 QR LeadTools 条形码 文件 使用 | 更新日期: 2023-09-27 18:28:00
我从LeadTools唯一想要的就是能够读取/写入QR条形码到pdf文件。以下是我创建的将条形码写入pdf的方法:
private void WriteBarcodeToPDF(字符串ServerPath_imageFile,字符串值,bool topLeft=true){//创建条形码数据QRBarcodeData barcode=BarcodeData.CreateDefaultBarcodeData(条形码符号.QR)为QRBarcodeData;BarcodeEngine引擎=新的BarcodeEngine();
using (RasterCodecs codecs = new RasterCodecs())
{
using (RasterImage image = codecs.Load(ServerPath_imageFile))
{
// Save the image
barcode.SymbolModel = QRBarcodeSymbolModel.Model2AutoSize;
barcode.Value = value;
// We will use the alignment to position the barcodes, so use all of the image
barcode.Bounds = new LogicalRectangle(0, 0, image.ImageWidth, image.ImageHeight, LogicalUnit.Pixel);
// Set the write options
QRBarcodeWriteOptions options = new QRBarcodeWriteOptions();
if (topLeft)
{
options.HorizontalAlignment = BarcodeAlignment.Near;
options.VerticalAlignment = BarcodeAlignment.Near;
}
else
{
options.HorizontalAlignment = BarcodeAlignment.Far;
options.VerticalAlignment = BarcodeAlignment.Far;
}
//Options
options.GroupNumber = 0;
options.GroupTotal = 0;
options.XModule = 30; //(Value allowed: 1 - 100)
options.ECCLevel = QRBarcodeECCLevel.LevelH;
// Write it
engine.Writer.WriteBarcode(image, barcode, options);
//Save As new Image.
codecs.Save(image, ServerPath_imageFile, RasterImageFormat.RasPdf, 1);
}
}
}
以下是我的问题:
我想存储在条形码中的值只是一个10-12位的数字。就是这样。我听说有一款二维码21x21的ECC率很高。你能修改我的方法吗?这样它就会产生一个符合我需求的条形码(10-12位数字),并且具有最高的恢复率(ECC)?
输出的pdf质量非常差,不仅在我放条形码的页面上,而且pdf文件中的每个页面的文本都会急剧退化,我不认为它应该是这样的。我的方法肯定有问题。你能修一下吗?
谢谢大家。
关于确定需要使用的条形码,请阅读以下页面,其中列出了可以存储在不同QR条形码中的数据量:http://www.leadtools.com/sdk/barcode/qr-chart.htm
您可以通过将SymbolModel属性设置为"QRBarcodeSymbolModel.Model2Version1"而不是"QRBarodeSymbolModel.Model2AutoSize"来选择大小。但是,如果将其设置为AutoSize,则工具箱将自动优化条形码大小。
关于质量差,问题可能是由源PDF的加载分辨率引起的。尝试将加载分辨率提高到300 DPI或更高。您可以通过将CodecsRasterizeDocumentLoadOptions类的XResolution和YResolution属性设置为所需值来实现这一点。
请参阅以下链接:http://www.leadtools.com/help/leadtools/v18/dh/co/leadtools.codecs~leadtools.codecsrasterizeddocumentloadoptions.html