Itextsharp 有没有可能;收缩“;PdfPtable?
我目前正在与Itextsharp合作,我在PDfPtables方面遇到了一些问题。 有时,它们对于一个页面来说太大了,当添加到文档中时,会被拆分为多个页面。 可悲的是,我的一些上司无法接受这种理性的观点——他们一直坚持表格应该“缩小”到一页。有没有办法做到这一点?有一些诱人的暗示,我是可能的-但暗示是我所有的 替代方案是什么?也许我可以从文档中删除胖表,然后用更小的字体和单元格重新构建表,但这对我来说太麻烦了——我更喜欢“缩小”,因为没有更好的词 我当前的代码:Itextsharp 有没有可能;收缩“;PdfPtable?,itextsharp,itext,Itextsharp,Itext,我目前正在与Itextsharp合作,我在PDfPtables方面遇到了一些问题。 有时,它们对于一个页面来说太大了,当添加到文档中时,会被拆分为多个页面。 可悲的是,我的一些上司无法接受这种理性的观点——他们一直坚持表格应该“缩小”到一页。有没有办法做到这一点?有一些诱人的暗示,我是可能的-但暗示是我所有的 替代方案是什么?也许我可以从文档中删除胖表,然后用更小的字体和单元格重新构建表,但这对我来说太麻烦了——我更喜欢“缩小”,因为没有更好的词 我当前的代码: Dim test As PdfC
Dim test As PdfContentByte = mywriter.DirectContent
Dim templ = test.CreateTemplate(mywriter.PageSize.Width, mywriter.PageSize.Height)
Table.WriteSelectedRows(0, Table.Rows.Count - 1, 0.0F, mywriter.PageSize.Height, templ)
Dim myimage = Image.GetInstance(templ)
' myimage.ScaleAbsolute(mywriter.PageSize.Width, mywriter.PageSize.Height)
是否需要可缩放溶质?
myimage.SetAbsolutePosition(0,0)
测试。添加图像(myimage)
此代码将某个内容放在页面上,但它具有页面的高度,宽度约为页面的四分之一-wi将尝试查找错误…创建表格并定义“总宽度”。只要iText知道表格的宽度,就可以计算所有行的高度。知道高度后,可以检查:
WriteSelectedRows
PdfTemplate
(有多种方法可以做到这一点),将PdfTemplate
包装在图像中。缩放图像,并将其添加到文档中
谢谢,这是我到目前为止听到的第一个全面的答案!我有个问题:你说的“和形象”是什么意思?到目前为止我的代码在上面…谢谢!那是个打字错误。我在代码中看到一个错误:在创建模板时使用PageSize.Height作为高度。这并不能解决你的问题。您应该计算表的高度(如中所述),并使用该高度。您需要与WriteSelectedRows中的Y偏移量相同的值。另外,可以使用-1而不是Table.Rows.Count-1。使用-1将绘制所有行。我无法找到table.gettotalheight作为方法-我将尝试使用CalculateHeights。我习惯于使用iText,因此在方法名称中使用get。您应该删除get,就像我提到的示例的C#版本中所做的那样: