繁体   English   中英

允许某人将网页导出为PDF以便于阅读的最佳方法是什么?

[英]What is the best way to allow someone to export a webpage to PDF for readability?

我有一个在线文档,显示了一个从数据库值和应用程序值动态构建的报告。 它向用户显示的报告类型基于用户具有的各种安全权限。 因此,一般情况下,经理可以查看完整报告,但客户服务顾问只会看到同一报告的一部分。 它做得很好。

但现在看到“在线”的报道也需要PDF版本。 我已经开始构建一个新的.CFM模板,它应该处理渲染同一文档的PDF版本。 它本质上是在线版本的副本,但具有基本的CSS格式和文档结构的更改方式(例如没有jquery选项卡)。 它仍然有条件逻辑。

但我现在已经到了一个阶段,我认为可能很难处理同一文档的两个文件。 我的意思是,如果“在线”版本中的某些内容发生变化,那么PDF版本中的代码也必须更改。

这是解决这个问题的唯一方法吗?还是有更好的方法可以解决从网页导出到PDF的问题? 我觉得我做错了。

wkHTMLToPDF是一个非常好的选择。

我担心你的问题 - 虽然是一个好问题 - 会因为过于主观而无法明确回答而被关闭。

至于逻辑,可能是这样的

if (requestIsForPdfVersion){
    call wkHTMLToPDF passing the *html* version of the URL to it
    use cfcontent to set the mimetype and return the file
}
business as usual for HTML

cfdocument标签允许您动态创建PDF文件。 您可以允许用户以各种方式选择其输出格式。

我最常使用的是在用户输入搜索参数的表单上包含一个选择控件。 我的选择通常是HTML或Excel,但它是一般的想法。 处理表单提交时,我最后显示的是显示内容。 它将类似于:

<cfif form.showas is 'html'>
code for web page
<cfelse>
code for something else
<cfif>

由于您的选择是HTML或PDF,因此cfsavecontent标记可能会派上用场。

如果未从表单访问页面,则可以使用cfsavecontent生成包含所有输出的会话变量。 然后,在您的网页上,提供一个链接或按钮或允许用户呈现为PDF的内容。 你所要做的就是将会话变量和cfdocument标签结合起来,Bob就是你的叔叔。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM