我有一个超文本标记语言报告,每个打印页都包含一个<div class="page">。页面类定义为
width: 180mm;
height: 250mm;
page-break-after: always;
background-position: centre top;
background-image: url(Images/MainBanner.png);
background-repeat: no-repeat;
padding-top: 30mm;在对报表内容做了一些更改之后,当我调用abcPDF将报表转换为PDF时,突然在每个真正的报表页面之后都插入了一个空白页面。我不想回滚我刚才为解决这个问题所做的更改,所以我希望有人能知道为什么要插入额外的页面。
发布于 2010-03-16 07:24:12
我也遇到过同样的问题。空页面是由于CSS中的-break-after: always;造成的。不仅仅是ABCpdf,打印出来的也会多出一页。因此,我使用以下代码消除了最后一个页面:MyDoc.Delete(MyDoc.Page);
然而,这导致了不同类型的问题。在安装了IE8的开发服务器上,我得到了一个额外的空白页面,而在安装了IE6的生产服务器上,我没有得到额外的空白页面。因此,我给websupergoo的支持团队发了一封电子邮件,告诉我如何查找空白页面。这个想法是迭代通过pdf,识别所有空白页面,并使用上面的逻辑删除它们。
我赞同Jakkwylde的观点。Websupergoo的人非常乐于助人,而且反应迅速。我还遇到了另一个让ABCpdf在64位下工作的问题,我花了将近一天的时间试图解决这个问题。他们为我提供了多个可以尝试的场景。他们的支持很划算,我在几分钟内就让我的应用程序启动并运行起来。
发布于 2012-09-08 02:46:26
protected void RemoveBlankPages(Doc pdf)
{
for (int i = pdf.PageCount; i > 0; i--)
{
pdf.PageNumber = i;
//get the pdf content
string textContent = pdf.GetText("Text");
//delete the page if it is blank
if (string.IsNullOrEmpty(textContent))
pdf.Delete(pdf.Page);
}
}发布于 2010-03-04 22:20:10
我发现abcPDF很奇怪,而且不可预测。话虽如此,可能发生的情况是,页面大小和页面分页后的组合可能是罪魁祸首。减小页面高度和/或删除分页符。
https://stackoverflow.com/questions/2379521
复制相似问题