我是 iTextSharp 新手,我正在尝试创建 PDF。
只是一个简单的例子。如果我做这样的事情:
Paragraph p = new Paragraph();
p.Add(new Chunk("789456|Test", f5));
newDocument.Add(p);
p.Add(new Chunk("456|Test", f5));
newDocument.Add(p);
p.Add(new Chunk("12345|Test", f5));
newDocument.Add(p);
我得到这个结果:
789456|Test
456|Test
12345|Test
我可以做什么来右对齐我的块中的部分文本。像这样:
789456|Test
456|Test
12345|Test
提前致谢。
请看下面的例子:第4章 http://tinyurl.com/itextsharpIIA2C04。他们引入了一个概念PdfPTable
。而不是创造Chunk
像这样的物体"789456|Test"
,然后做不可能的事情来获得这些内容的单独部分Chunk
如果正确对齐,您会发现创建一个简单的PdfPTable
有 2 列,添加"789456|"
and "Test"
作为无边界单元格的内容。所有其他解决方法都将不可避免地导致代码更加复杂且容易出错。
卡尔·安德森 (Karl Anderson) 提供的答案要复杂得多。 Manish Sharma 提供的答案是错误的。虽然我不懂 C#,但我尝试编写一个示例(基于我如何在 Java 中实现此目的):
PdfPTable table = new PdfPTable(2);
table.DefaultCell.Border = PdfPCell.NO_BORDER;
table.DefaultCell.VerticalAlignment = Element.ALIGN_RIGHT;
table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
table.addCell(new Phrase("789456|", f5));
table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
table.addCell(new Phrase("Test", f5));
table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
table.addCell(new Phrase("456|", f5));
table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
table.addCell(new Phrase("Test", f5));
table.DefaultCell.HorizontalAlignment = Element.ALIGN_RIGHT;
table.addCell(new Phrase("12345|", f5));
table.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
table.addCell(new Phrase("Test", f5));
doc.Add(table);
请注意,表格的默认宽度是可用宽度(页边距之间的水平空间)的 80%,并且表格默认居中对齐。您可能想使用以下命令更改这些默认值WidthPercentage http://sourceforge.net/p/itextsharp/code/HEAD/tree/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter04/ColumnWidths.cs and HorizontalAlignment http://sourceforge.net/p/itextsharp/code/HEAD/tree/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter04/TableAlignment.cs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)