【问题标题】:ABCPDF not showing full table dataABCPDF 未显示完整的表格数据
【发布时间】:2014-02-27 13:21:31
【问题描述】:

请参考下图:

由于宽度的原因,它会切断一些表格数据。我的表格宽度超过 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的文档页面大小?

我该如何解决这个问题?

谢谢,

湿婆

【问题讨论】:

  • 您是否将 HTML 页面转换为 PDF?
  • 是的,正在将 html 页面转换为 pdf。如何设置浏览器宽度以显示所有表格数据
  • 你能提供 html 来重现这种行为吗?
  • @malkassem jsfiddle.net/lvtrvd/UCBpc。小提琴包含示例 html 和 css

标签: pdf pdf-generation abcpdf


【解决方案1】:

在查看了 HTML 之后,我想我可以给你一些关于如何解决你的问题的提示:

1- 使用 Gecko 引擎进行 PDF 渲染:

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

Gecko 引擎在 ABCPdf 中呈现时提供更好的 Css 合规性。

2- 在您的 Css 中,您将 overflow-x 设置为 scroll 用于 inner-container。这会导致您看到的行为。我会将以下 Css 添加到 Css 的底部:

@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%;
    }
}

请注意@media print,它使 css 仅在打印期间有效,不会影响它在屏幕上的显示方式。

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

doc.HtmlOptions.BrowserWidth = 1200;

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

祝你好运……

【讨论】:

  • 感谢您的及时回复。将尝试一次您的建议!
  • 我们不能在这种情况下使用默认引擎(mshtml)?
  • 默认引擎,可能会给你不同的结果。 Gecko 与最新的 Css 更兼容。这是一个建议,所以无论哪种方式都可以尝试,看看哪种方式能给你带来最好的结果。
  • 非常感谢!!!将值(1200)设置为 browserwidth 属性后,一切正常。是否可以根据表格内容动态设置宽度?
  • 如果您可以测量 HTML 表格宽度并将其传递给函数,您可能可以。否则,它可能会变得非常棘手。
【解决方案2】:

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

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

【讨论】:

  • 是的,正在将 html 页面转换为 pdf。如何设置浏览器宽度以显示所有表格数据
猜你喜欢
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多