c# - C# 中 itextsharp 中的文本格式设置

标签 c# itext

我正在尝试使用我的 C# 软件创建 pdf 文件。我正在使用 itextsharp 库创建客户账单收据。

但是我无法格式化文本。我们如何格式化pdf文件中的文本。只有换行符 \n 似乎有效。我们如何使用制表符格式化文本?

附件是 pdf 文件中文本的屏幕截图。

非常感谢您的帮助。

enter image description here

最佳答案

很抱歉,但我必须反驳 Cuong Le,iTextSharp 确实支持 TAB Chunks。请下载http://www.manning.com/lowagie2/samplechapter2.pdf并查找标题为“TAB CHUNKS”的部分(第 2.2.6 节的一部分)。

当您要求 C# 解决方案时,让我从您需要的 iTextSharp 中复制粘贴方法:

/**
 * Creates a tab Chunk.
 * Note that separator chunks can't be used in combination with tab chunks!
 * @param separator the drawInterface to use to draw the tab.
 * @param tabPosition an X coordinate that will be used as start position for the next Chunk.
 * @param newline if true, a newline will be added if the tabPosition has already been reached.
 * @since 2.1.2
 */
public Chunk(IDrawInterface separator, float tabPosition, bool newline)
   : this(OBJECT_REPLACEMENT_CHARACTER, new Font()) {
   if (tabPosition < 0) {
     throw new ArgumentException(MessageLocalization.GetComposedMessage("a.tab.position.may.not.be.lower.than.0.yours.is.1", tabPosition));
   }
   SetAttribute(TAB, new Object[] {separator, tabPosition, newline, 0});
} 

制表符位置是以用户单位表示的值(默认情况下 1 用户单位 = 1 点 = 1/72 英寸)。在您的情况下,您需要使用正确的选项卡值(您希望名称和地址信息开始的 X 值)创建这样一个 Chunk ,并将此“选项卡 block ”添加到 4 Paragraph 您要添加到文档中的对象。

关于c# - C# 中 itextsharp 中的文本格式设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13206467/

相关文章:

c# - 如何向 PDF 添加可打印或不可打印的位图图章?

java - 如何使用iText添加PAdES-LTV

c# - 提高 Excel 文件创建的性能

c# - Application.Run 后 Application.Exit 不起作用

c# - 如何获得一系列时间 block 的所有非重叠排列?

java - 如何在 iText 中检索 PdfPCell 坐标?

c# - MIME 多部分流意外结束。 MIME 多部分消息不完整。 Web API 和 super 代理

c# - 在 .NET 控件中部署非托管依赖 dll

java - 使用 itext 4 编辑 pdf 中的现有超链接

java - iText - 格式化子字符串