使用绝对定位将文本文档打印为pdf的推荐方法是什么? 我有一张桌子,我必须打印。我也有数据类型长度和列的起始位置。 由于现有表是基于字符的,因此其定位没有问题。但即使在使用单色字体(Courier,10)后,我也无法正确定位数据,每行的最后一列错误地跳到下一行。
为了使我的数据与字符1一样接近,我将页面分成不同的列(基于其页面大小),然后在所需的位置添加内容。我在段落中添加了大量数据。
paragraph.add(new Chunk(new VerticalPositionMark(), columnNo*ptUnit, false));
我尝试调整页面大小,字体大小和边距长度,但数据未正确显示。你遇到过这样的问题吗?请分享你的想法。
答案 0 :(得分:0)
您是否尝试过ColumnText
当我想写一个段落而且我确实知道行数...我做了一个循环递增(即使它表示递增而且是减号是因为pdf是从“南”到“北”(0 - height)字体大小比例中的y,类似这样的
//_valueArray is my string[]
//fontSize is the value of the Size of the font...
//1.5 it's just a magic number :) that give me the space line that i need
//cbLocal is the PdfContentByte of the pdf
for (i = 0; i < _valueArray.Length; i++)
{
var p = new Phrase(_valueArray[i], font);
ColumnText.ShowTextAligned(cbLocal, align, p, x, y, 0);
if (i + 1 != _valueArray.Length)
{
y = y - (fontSize*1.5f);
}
}