我需要將BarcodeQRCode
圖像添加到PdfCanvas
,但我還沒有找到如何去做。iText7 - 如何獲取圖像對象數據
我有以下代碼
BarcodeQRCode qr;
PdfFormXObject xObject;
Image im;
PdfCanvas canvas = new PdfCanvas(page);
qr = new BarcodeQRCode(msg);
xObject = qr.CreateFormXObject(Color.BLACK, _pdfDoc);
im = new Image(xObject);
im.SetFixedPosition(10f, 10f);
在這一點上我需要將圖像對象添加到畫布上,而是在iText7我需要通過形象的物體,像iText.IO.Image.ImageData,這就是問題所在,因爲要做到這一點我需要圖像的Byte []。
我的問題是,如何獲取Image對象的Byte []?
我也試圖這樣做是爲了獲得圖象 -
PdfImageXObject xoi;
xoi = new PdfImageXObject(xObject.GetPdfObject());
iText.IO.Image.ImageData id = iText.IO.Image.ImageDataFactory.Create(xoi.GetImageBytes());
而是我拿一個錯誤,因爲xoi.GetImageBytes()
拋出一個空引用異常。就像PdfImageXObject沒有正確創建。
我有點瘋狂,我需要幫助。
謝謝。
你是什麼意思的同一個問題?之前的問題是,您不知道如何正確地將條形碼添加到畫布上,現在您知道如何做到這一點,那麼問題又如何呢?請通過編輯問題來正確描述您的問題。 –
感謝您的回答, 這是我嘗試過的選項之一,但我遇到了與調用barcode.createFormXObject(Color.BLACK,modulesize,document)時使用modulesize相同的問題;而且我無法控制一個固定的升級,我的意思是能夠確定生成的圖像具有固定的維度。 – mduran16
問題是BarcodeQRCode生成的圖像的大小因其內容而異,內容越大,生成的圖像就越大,因此無法固定比例,因爲它必須根據從圖像的大小。 總之,我在尋找的是能夠將圖像縮放到固定維度,以將其添加到畫布,而不管其內容,因爲它是可變的。 可能我的問題與此同時也不知道如何計算該固定比例。 – mduran16