我開發了一個能夠生成PDF文件的webapp。用戶可以選擇上傳最多5張照片。當用戶上傳5張照片時,我將能夠生成PDF文件。但是,如果用戶只選擇上傳4,我將無法生成PDF文件,我將收到此錯誤。無法生成帶'0x'varbinary值的PDF文件ASP.net itextsharp
Index was outside the bounds of the array
如果用戶沒有上傳全部5張照片,我已經插入了默認值'0x'作爲varbinary。這是我如何直接從我的SQL服務器獲取圖像的代碼。
phrase.Add(new Chunk("C-IMG1 :\u00a0", normalFont));
Byte[] bytes1 = (Byte[])dr[8];
iTextSharp.text.Image image1 = iTextSharp.text.Image.GetInstance(bytes1);
image1.ScaleToFit(112f, 112f);
Chunk imageChunk1 = new Chunk(image1, 0, 0);
phrase.Add(imageChunk1);
phrase.Add(new Chunk("C-IMG2 :\u00a0", normalFont));
Byte[] bytes2 = (Byte[])dr[9];
iTextSharp.text.Image image2 = iTextSharp.text.Image.GetInstance(bytes2);
image2.ScaleToFit(112f, 112f);
Chunk imageChunk2 = new Chunk(image2, 0, 0);
phrase.Add(imageChunk2);
phrase.Add(new Chunk("C-IMG3 :\u00a0", normalFont));
Byte[] bytes3 = (Byte[])dr[10];
iTextSharp.text.Image image3 = iTextSharp.text.Image.GetInstance(bytes3);
image3.ScaleToFit(112f, 112f);
Chunk imageChunk3 = new Chunk(image3, 0, 0);
phrase.Add(imageChunk3);
phrase.Add(new Chunk("C-IMG4 :\u00a0", normalFont));
Byte[] bytes4 = (Byte[])dr[11];
iTextSharp.text.Image image4 = iTextSharp.text.Image.GetInstance(bytes4);
image4.ScaleToFit(112f, 112f);
Chunk imageChunk4 = new Chunk(image4, 0, 0);
phrase.Add(imageChunk4);
phrase.Add(new Chunk("C-IMG5 :\u00a0", normalFont));
Byte[] bytes5 = (Byte[])dr[12];
iTextSharp.text.Image image5 = iTextSharp.text.Image.GetInstance(bytes5);
image5.ScaleToFit(112f, 112f);
Chunk imageChunk5 = new Chunk(image5, 0, 0);
phrase.Add(imageChunk5);
我該如何解決這個問題?已被卡住了一兩天。
我已經在另一個線程粘貼我的全部代碼。我確實使用了pdfptable。我使用了塊,因爲我無法格式化圖片的大小或單詞的字體大小,如果我想通過datareader獲取我的數據。 –