簡體   English   中英

iTextSharp從硬盤讀取pdf模板並寫入文本

[英]iTextSharp read pdf template from hard drive and write text

我有一個基本的PDF文件,我有5個不同的空白內容區域,我也想使用iTextSharp編寫文本。 問題是我不確定實現此目標的最佳方法。 我嘗試使用ColumnText完成此操作,但是似乎無法添加多個ColumnText對象。

            ColumnText tagColumn = new ColumnText(pdfContentByte);
            tagColumn.SetSimpleColumn(460, 100, 620, 160);
            string[] tagColors = bt.DealerTagColor.Split('|');
            Font tagFont = FontFactory.GetFont(bt.DealerTagFont, bt.DealerTagSize, Font.NORMAL, new BaseColor(int.Parse(tagColors[0]), int.Parse(tagColors[1]), int.Parse(tagColors[2])));
            Paragraph p = new Paragraph(dto.Tag, tagFont);
            p.Leading = bt.DealerTagSize;
            tagColumn.AddElement(p);
            tagColumn.Go();

我喜歡ColumnText的地方在於,它使我能夠必要地定義高度/寬度和文本區域的位置。

關於如何使用或不使用ColumnText來完成此操作的任何想法? 我只需要控制字體/字體大小/字體顏色/開頭/區域的寬度,這將允許文本換行。

最簡單的方法是在模板PDF上創建和使用表單字段。 這樣,您可以按名稱引用表單字段並通過簡單的函數調用設置其值。

這篇文章對我有幫助:

使用開源iTextSharp動態鏈接庫填寫PDF表單字段

編輯: PdfPTables?

如果您的ColumnText以表格形式排列,請考慮使用PdfPTable。 我使用了PdfPTables來填充從空白模板表單生成的表單中的數據行。 您需要弄清楚每列的x坐標,並在將PdfPCells添加到表中時使用這些值,但是確實可以。 我從來沒有為PdfPCell的高度設置上限,但我想您可以做到。

檢查此頁面以獲取有關PdfPTables的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM