ABCPDF未显示完整表数据

时间:2014-02-27 13:21:31

标签: pdf pdf-generation abcpdf

请参考下图:

enter image description here

由于宽度的原因,它会切断一些表格数据。我的桌子宽度超过1000像素。我知道The default document size for ABCpdf is 612 by 792.

使用以下代码设置文档宽度和高度

            double w = doc.MediaBox.Width;
            double h = doc.MediaBox.Height;
            double l = doc.MediaBox.Left;
            double b = doc.MediaBox.Bottom;
            doc.Transform.Rotate(90, l, b);
            doc.Transform.Translate(w, 0);
            doc.Rect.Width = h;
            doc.Rect.Height = w;

我想显示所有表格数据。我需要修改我的表格大小吗?或者我是否需要修改pdf的文档页面大小?

我该如何解决这个问题?

谢谢,

希瓦

2 个答案:

答案 0 :(得分:2)

在审核HTML后,我认为我可以为您提供一些有关如何解决问题的提示:

1-使用Gecko Engine进行PDF渲染:

doc.HtmlOptions.Engine = WebSupergoo.ABCpdf9.EngineType.Gecko;

在ABCPdf中渲染时,Gecko引擎可提供更好的Css兼容性。

2-在您的Css中,您overflow-x的{​​{1}}设置为scroll。这会导致您看到的行为。我会将以下Css添加到Css的底部:

inner-container

注意@media print { .outer-container { background-color: #ccc; position: absolute; top:0; left: 0; right: 300px; bottom:40px; overflow: visible; width: 100%; } .inner-container { width: 100%; height: 100%; position: relative; overflow-x: visible; } table { width: 100%; } } 使得css仅在打印过程中有效,并且不会影响它在屏幕上显示的方式。

3-最后,您可以尝试使用浏览器宽度播放:

@media print

BrowserWidth属性的唯一问题是它会影响文档的缩放。所有文本字体都会显得更小。

祝你好运......

答案 1 :(得分:1)

您尚未指定是否将HTML页面转换为PDF格式,但我认为您是。如果是这种情况,你看过浏览器的宽度属性吗?查看XHTMLOptions对象属性 - 它将帮助您微调渲染:

http://www.websupergoo.com/helppdfnet/source/5-abcpdf/xhtmloptions/