C# iTextSharp条码EAN 13更改宽度

C# iTextSharp条码EAN 13更改宽度,c#,asp.net-mvc,itextsharp,itext,barcode,C#,Asp.net Mvc,Itextsharp,Itext,Barcode,我正在使用iTextSharp创建EAN13条形码,但无法更改生成的条形码的宽度: 当BarHeight=x时,更改高度可以正常工作 System.Drawing.Image bm = code39.CreateDrawingImage(Color.Black, Color.White); BarcodeEAN codeEan = new BarcodeEAN(); codeEan.CodeType = Barcode.EAN13; codeEan.Code = "4035606872510";

我正在使用iTextSharp创建EAN13条形码,但无法更改生成的条形码的宽度: 当BarHeight=x时,更改高度可以正常工作

System.Drawing.Image bm = code39.CreateDrawingImage(Color.Black, Color.White);
BarcodeEAN codeEan = new BarcodeEAN();
codeEan.CodeType = Barcode.EAN13;
codeEan.Code = "4035606872510";
codeEan.BarHeight = 130f;
codeEan.X = ... //not working
codeEan.Size = ... //also not working
bm = codeEan.CreateDrawingImage(Color.Black, Color.White);
bm.Save("D:\\temp\\foo.png", ImageFormat.Png);

/* Resizing only stretches the pixels with bad quality  */
iTextSharp.text.Image barcode = iTextSharp.text.Image.GetInstance(bm, ImageFormat.Png);
barcode2.ScaleToFit(1200f, 130f);

我自己找到了解决办法。。。。 但对于有同样问题的人:

Document doc = new Document();
MemoryStream memStream = new MemoryStream();
PdfWriter writer = PdfWriter.GetInstance(doc, memStream);
writer.SetPdfVersion(PdfWriter.PDF_VERSION_1_7);
writer.CompressionLevel = PdfStream.BEST_COMPRESSION;
doc.Open();

PdfContentByte cb = writer.DirectContent;

BarcodeEAN codeEan = new BarcodeEAN();
codeEan.GenerateChecksum = true;
codeEan.CodeType = Barcode.EAN13;
codeEan.Code = "5449000101549";
codeEan.Font = null;

iTextSharp.text.Image imageEAN = codeEan.CreateImageWithBarcode(cb, null, null);
imageEAN.ScaleAbsolute(150, 50);
imageEAN.SetAbsolutePosition(doc.PageSize.Right - 186f, doc.PageSize.Bottom + 30f);
doc.Add(imageEAN);
...