更改PDF文档中字体的最佳方法

时间:2016-05-17 15:01:24

标签: c# pdf itextsharp itext multiline

目前我正在尝试更改PDF文档中使用的字体。

因此我声明了矩形并使用LocationTextExtractionStrategy:

提取文本
System.util.RectangleJ rect = new System.util.RectangleJ(fX, fY, fWidth, fHeight);
RenderFilter[] rfArea = { new RegionTextRenderFilter(rect) };
ITextExtractionStrategy str = new FilteredTextRenderListener(new LocationTextExtractionStrategy(), rfArea);
string s = PdfTextExtractor.GetTextFromPage(reader, 1, str);  

这可以按预期工作,但找到正确的坐标非常复杂。

但是如何将文本放在同一个起始位置fX,fY的新PDF文档中,这样我就不会破坏布局?

我使用ColumnText尝试了它,但是多行文本放在另一个上面:

Paragraph para = new Paragraph(fLineSpacing, s, font);
para.IndentationLeft = fLineIndentionLeft;
para.SpacingAfter = fSpacingAfter;
para.SpacingBefore = fSpacingBefore;
para.Alignment = iFontAlignment;

PdfContentByte cb = writer.DirectContent;
ColumnText ct = new ColumnText(cb);
ct.SetSimpleColumn(para, fX, fY + fHeight, fWidth + fX, fY, 0f, Element.ALIGN_LEFT);
ct.Go();

我错过了什么?还是有更简单的东西?使用我的方法,我将不得不覆盖定义大量矩形的整个页面。

0 个答案:

没有答案