请参考下图:
由于宽度的原因,它会切断一些表格数据。我的桌子宽度超过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的文档页面大小?
我该如何解决这个问题?
谢谢,
希瓦
答案 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/