我对 LeadTools 唯一想要的就是能够将 QR 条码读/写到 pdf 文件。这是我创建的将条形码写入 pdf 的方法:
private void WriteBarcodeToPDF(string ServerPath_imageFile, string value, bool topLeft = true) { // 创建条码数据 QRBarcodeData barcode = BarcodeData.CreateDefaultBarcodeData(BarcodeSymbology.QR) as 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 位的数字。而已。我听说有 QR Barcode 21x21 的 ECC 率很高。您能否修改我的方法,使其生成符合我需要(10-12 位数字)并具有最高回收率 (ECC) 的条码?
输出的 pdf 质量很差,不仅在我放条形码的页面上,而且 pdf 文件中的每一页的文本也都显着下降,我认为它不应该是这样的这个。我的方法一定有问题。请你修好吗?
谢谢大家。