如何使用iText7格式化列

时间:2017-01-17 16:35:39

标签: c# visual-studio pdf itext7

我正在编写一个程序,允许我在Bowling Pro Shop中打印销售代码。目前我正在手动完成它们,但我希望更容易创建。我用VS2015创建了一个程序,它要求所有字段并将其保存到Access数据库,并将其打印到我创建的模板中。我遇到的问题是格式化文本,就像我在Photoshop中制作时一样。即使它只是一点点就可以了,但目前我无法弄清楚如何在模板上按照我想要的方式编写它。This是我要打印到的模板,底部是使用格式化的Photoshop和顶部是空白的。 我认为创建一个图像并将其添加到pdf(5次)可能是最简单的。

这是我的代码:

NSObject

我现在只是硬编码信息而不是使用文本框中的输入。Here是您点击打印时获得的。

我不知道如何为CORE格式化下一行:COVER:FINISH:RG:DIFF:

我也不确定如何将字体Arial(黑色)添加到iText7字体工厂。

谢谢, 布兰登

1 个答案:

答案 0 :(得分:1)

您的帖子包含不同的问题。

<强>字体:

你想在iText 7中创建一个PdfFont。与iText 5相比,这种方式完全不同(也更容易)。在iText 5中,你有一个Font类,一个BaseFont课程。那些不再是必要的。你这样做:

PdfFont font = PdfFontFactory.CreateFont(pathToArialBlack, true);

在此行中,pathToArialBlackARIBLK.TTF的路径,例如C:\WINDOWS\Fonts\ARIBLK.TTF

<强>列:

关于列的问题是错误的。看着想要的结果。我无法想象为什么你会使用ColumnDocumentRenderer。我会为每个矩形创建一个Canvas对象,并将该Canvas对象传递给将内容添加到画布的方法。确保通过将Image对象传递给方法而不是在方法中创建Image,只需添加一次图像字节,就像拥有Canvas个对象一样多。