開発環境:
Windows10 Pro
Microsoft Visual Studio Community 2019
開発言語:
WPF C# .NET FrameWork4.7.2
iTextSharpの場合、PdfTableのCellに画像を表示するのは比較的簡単にできます。
Cellにイメージのインスタンスを指定するだけです。
//画像を取り込む。 iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(new Uri(@"C:\Users\ussr1\Pictures\Blog用\AIRBORNE.png")); image.ScaleAbsolute(50, 50); float[] headerwodth = new float[] { 0.10f, 0.10f, 0.10f, 0.10f, 0.10f, 0.10f, 0.10f, 0.10f, 0.10f, 0.10f}; //テーブルCOL配分 PdfPCell cell; //複数列からなるテーブルを作成 PdfPTable tbl = new PdfPTable(headerwodth); tbl.WidthPercentage = 100; tbl.DefaultCell.Padding = 4; cell = new PdfPCell(image); cell.HorizontalAlignment = Element.ALIGN_CENTER; cell.BackgroundColor = BaseColor.LIGHT_GRAY; tbl.AddCell(cell);
この後、出来上がったTable(tbl)をiTextのDocumentsに追加します。
こんな感じになります。
Document(Page)のInstanceに画像を直接表示することもできます。
但し、最下層に表示されるため、Tableを表示した場合は、Tableの背景となります。
ここは、要注意です。
Tableの背景の透過等を考えなければいけませんが、どうするのかな?
//【ページに画像を挿入】 //位置指定は、横(x),縦(y)です。なお、起点(0,0)は左下になります。 image.SetAbsolutePosition(100, 250); doc.Add(image);
細かいところは今後のお勉強で!?
何とか使えそうですね!