CFDocument PDF - 打印时页眉被截断
CFDocument PDF - Header Gets Cut Off When Printing
我有一个通过 CFDocument 标签生成的 PDF。当它生成 PDF 时,您单击 "printer" 图标弹出打印对话框。对于页面大小和处理,如果将其设置为 "Fit" 或 "Shrink oversized pages",则打印效果很好。如果 "Actual size" 被 select 编辑,那么页眉就会移出页面并被切断。
我在 Windows 7.
上使用 ColdFusion 11
为了重新创建它,我删除了所有样式并使用以下基本代码进行了简单测试:
<cfdocument format="PDF" saveAsName="test_#dateFormat(now(),'yyyymmdd')#T#timeFormat(now(),'hhmmss')#.pdf">
<cfdocumentitem type="header">HEADER</cfdocumentitem>
<cfdocumentsection>
BODY
</cfdocumentsection>
<cfdocumentitem type="footer">
#cfdocument.currentpagenumber# / #cfdocument.totalpagecount#
</cfdocumentitem>
</cfdocument>
生成以下 PDF:
然后我点击弹出打印机设置的"Printer"图标:
如果仔细观察对话框中的预览图像,您会发现页眉文本位于文档中。
现在,如果我 select "Actual size" 相反,它会给出以下内容:
如果您查看预览,这次您可以看到所有内容都向上移动并且页眉部分位于文档之外,这导致一半的页眉在打印时被切掉并且难以辨认。
有人知道为什么会发生这种情况以及如何解决吗?
老实说,使用 cfdocument 标签对我来说简直就是残酷。如果您可以使用外部工具来做同样的事情(换句话说,如果您的企业和系统管理员允许您使用它们),我建议使用 WKHTMLToPDF。您可以在这里找到更多相关信息:http://wkhtmltopdf.org/
我不得不说我们非常幸运地使用了这个工具。如果这对您的环境很重要,它也可以跨平台工作。
希望这对您有所帮助。
为了解决这个问题,我最终使用了 CFDocument 中的 pageWidth 和 pageHeight 以及 pageType 属性。
<cfdocument format="PDF" pageType="custom" pageWidth="8.5" pageHeight="10.75" saveAsName="test_#dateFormat(now(),'yyyymmdd')#T#timeFormat(now(),'hhmmss')#.pdf">
<cfdocumentitem type="header">HEADER</cfdocumentitem>
<cfdocumentsection>
BODY
</cfdocumentsection>
<cfdocumentitem type="footer">
#cfdocument.currentpagenumber# / #cfdocument.totalpagecount#
</cfdocumentitem>
</cfdocument>
标准字母大小为 8.5" X 11"(这是 CFDocument 中的默认值),所以我只是将高度稍微调整为 10.75",即使我单击 [=15],header 仍保持在页面边界内=] 在打印对话框中。
似乎有点奇怪,我必须这样做才能使 header 适合页面而不被切断,但它有效。进一步调整高度只会将 header 缩放得太多而且看起来不太好,所以我选择了 10.75"。
我有一个通过 CFDocument 标签生成的 PDF。当它生成 PDF 时,您单击 "printer" 图标弹出打印对话框。对于页面大小和处理,如果将其设置为 "Fit" 或 "Shrink oversized pages",则打印效果很好。如果 "Actual size" 被 select 编辑,那么页眉就会移出页面并被切断。 我在 Windows 7.
上使用 ColdFusion 11为了重新创建它,我删除了所有样式并使用以下基本代码进行了简单测试:
<cfdocument format="PDF" saveAsName="test_#dateFormat(now(),'yyyymmdd')#T#timeFormat(now(),'hhmmss')#.pdf">
<cfdocumentitem type="header">HEADER</cfdocumentitem>
<cfdocumentsection>
BODY
</cfdocumentsection>
<cfdocumentitem type="footer">
#cfdocument.currentpagenumber# / #cfdocument.totalpagecount#
</cfdocumentitem>
</cfdocument>
生成以下 PDF:
然后我点击弹出打印机设置的"Printer"图标:
如果仔细观察对话框中的预览图像,您会发现页眉文本位于文档中。
现在,如果我 select "Actual size" 相反,它会给出以下内容:
如果您查看预览,这次您可以看到所有内容都向上移动并且页眉部分位于文档之外,这导致一半的页眉在打印时被切掉并且难以辨认。
有人知道为什么会发生这种情况以及如何解决吗?
老实说,使用 cfdocument 标签对我来说简直就是残酷。如果您可以使用外部工具来做同样的事情(换句话说,如果您的企业和系统管理员允许您使用它们),我建议使用 WKHTMLToPDF。您可以在这里找到更多相关信息:http://wkhtmltopdf.org/
我不得不说我们非常幸运地使用了这个工具。如果这对您的环境很重要,它也可以跨平台工作。
希望这对您有所帮助。
为了解决这个问题,我最终使用了 CFDocument 中的 pageWidth 和 pageHeight 以及 pageType 属性。
<cfdocument format="PDF" pageType="custom" pageWidth="8.5" pageHeight="10.75" saveAsName="test_#dateFormat(now(),'yyyymmdd')#T#timeFormat(now(),'hhmmss')#.pdf">
<cfdocumentitem type="header">HEADER</cfdocumentitem>
<cfdocumentsection>
BODY
</cfdocumentsection>
<cfdocumentitem type="footer">
#cfdocument.currentpagenumber# / #cfdocument.totalpagecount#
</cfdocumentitem>
</cfdocument>
标准字母大小为 8.5" X 11"(这是 CFDocument 中的默认值),所以我只是将高度稍微调整为 10.75",即使我单击 [=15],header 仍保持在页面边界内=] 在打印对话框中。 似乎有点奇怪,我必须这样做才能使 header 适合页面而不被切断,但它有效。进一步调整高度只会将 header 缩放得太多而且看起来不太好,所以我选择了 10.75"。