问题标签 [cfdocument]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
688 浏览

pdf - 仅将页边距应用于 ColdFusion PDF 文档的最后一页

我正在使用 ColdFusion 生成 PDF,<cfdocument>我只想在最后一页上显示页脚。我在这里找到了一个很好的解决方案,它只会在最后一页显示页脚。

如果您的页脚很长,您需要在<cfdocument>标签中添加 marginbottom 以定义空间,例如:

这意味着每一页的底部都会有 1.5 英寸的空白空间,有没有办法只将该空间应用于最后一页?

0 投票
2 回答
814 浏览

coldfusion - cfdocument 性能问题

我正在生成一个pdf cfdocument,它与这段代码完美配合:

如果我#session.footer#在其中包含变量,则生成 PDF 需要很长时间。

页脚变量包含一个完整的页脚部分,我想在文档末尾添加它。我不明白为什么这需要更长的时间。我正在使用 ColdFusion 10。

0 投票
2 回答
614 浏览

coldfusion - 使用coldfusion将html转换为图像并添加到pdf中

我正在使用cfpdfandcfdocument创建缩略图并将它们保存为 pdf。一切正常,但我不喜欢这个分辨率。我可以使用什么其他方法从 HTML 生成图像,然后用这些图像创建一个 pdf。

0 投票
1 回答
131 浏览

pdf - ColdFusion/CFWheels 在不同的控制器中合并多个 PDF

我在我的网站上使用 Coldfusion 10 和 CFWheels。基本上我的网站有一堆不同类型的表单,它们有自己的控制器和视图。对于每个表单,用户可以选择动态生成表单的 PDF 并下载。它基本上加载控制器数据,但是当它使用“pdf”参数访问视图时,它会执行以下操作,生成 PDF 并在浏览器中打开文档:

这些 PDF 中的每一个都可以有多个页面,具体取决于添加了多少行项目。就像我在开始时所说的那样,表单有多种类型,因此它们将拥有自己的控制器和视图,并使用其打印视图生成 PDF。这些表单都是自定义的,并与诸如 shippingID 之类的 ID 相关联。所以我可以有一份包含 2 种 A 型表格和 1 种 B 型表格和 3 种 C 型表格的货件,等等。我需要做的是生成 1 个 PDF,所有表格根据货件合并在一起。因此,以我的示例为例,货件的合并 PDF 将包含 2 种 A 型表格、1 种 B 型表格和 3 种 C 型表格,全部合并。

目前我正在做的是对每个动态生成的 PDF 页面进行 http“GET”调用,将其保存到临时目录,然后在最后合并它们。

我加载货件,对于每种不同类型的表单,我执行以下操作,其中 urlPath 是生成动态 PDF 的视图的路径:

获取 PDF 并将其写入文件后,我将路径保存在数组中以供参考,以便循环遍历并合并数组中的所有引用文件,然后删除保存文件的临时目录。

我这样做的原因是因为控制器和视图已经设置好并即时生成单独的 PDF。如果我尝试加载(所有关联的表单)并将所有内容放在一个文件中,我将不得不添加所有相同的控制器逻辑来加载每个表单特定的内容和关联的视图,但这些对于单个页面视图已经存在。

有一个更好的方法吗?如果只有几个 PDF,它可以正常工作,但如果发货中有很多不同的表格,比如 20 个,那么它非常慢,因为我们没有 CF Enterprise,我相信 cfdocument 是单线程的。表单必须动态生成,以便它们包含最新的数据。

克里斯的更新

我添加了一些代码来显示各种形式的外观。我验证并加载了一堆其他东西,但我将其剥离以了解总体思路:

控制器/Invoices.cfc

路径可能类似于:/shipments/[shipmentkey]/invoices/[key]

控制器/Permits.cfc

路径可能类似于:/shipments/[shipmentkey]/permits/[key]

控制器/Nafta.cfc

路径可能类似于:/shipments/[shipmentkey]/naftas/[key]

目前,我的视图基于一个名为“view”的 URL 参数,其中的值可以是“print”或“pdf”。

print - 显示打印视图,它几乎是表单的精简版本,没有网页页眉/页脚等。

pdf - 调用我粘贴在问题顶部的 cfdocument 代码,该代码使用 printView 生成 PDF。

我认为我不需要发布“show.cfm”代码,因为它只是一堆 div 和表格,显示每个特定表单的特定信息。

请记住,这些只是 3 种示例表单类型,并且有 10 多种类型可能与 1 个货件相关联,并且 PDF 需要合并。每种类型也可能在一次装运中重复多次。例如,一个货物可能包含 10 张不同的发票,其中包含 5 个许可证和 3 个北美自由贸易协定。

为了让事情稍微复杂一点,一个货件可以有两种类型:美国发往或加拿大发运,并且基于这种不同的表单类型可以与该货件相关联。因此,加拿大发票的字段与美国发票的字段完全不同,因此模型/表格不同。

目前要进行合并,我有一个控制器,它执行以下操作(请注意,我剥离了很多验证,加载其他对象以简化)

0 投票
1 回答
291 浏览

coldfusion - CFDocument 错误:处理文档时发生异常

有谁知道是什么导致了这个错误?

“处理文档时发生异常”

0 投票
1 回答
146 浏览

coldfusion - Coldfusion cfdocument 分页问题

我打算在记录数达到指定数字(numbersDown)后使用分页符。然而,上面的代码将打印几页,然后在最后一页打印记录。有没有办法解决这个问题或其他强制分页的方法?

注意:上面的代码在一个表中。

0 投票
0 回答
129 浏览

pdf - CFDocument 打印设置

我正在将自定义尺寸传递给 cf 文档,包括纸张和边距尺寸。无论如何都可以将默认打印设置大小选项更改为默认实际大小,而不是缩小超大页面。

0 投票
0 回答
47 浏览

coldfusion - CFDocument 不尊重自定义边距

我传入了 0 的自定义边距,但页面顶部和侧面仍留有一个小间隙。它正在使用自定义边距,但不正确。有任何想法吗?

0 投票
2 回答
1537 浏览

pdf-generation - 在cfdocument中动态显示页码

我可以创建 PDF 没问题,但需要 PDF 的页码从某个页面开始——而不是 1。通常我会使用 cfdocument 范围来显示页码,但因为我不想要页面从 1 开始的数字 我无法让代码工作。不确定如何在增加每一页时最好地做到这一点。这是运行良好的代码:

但是当我引入分页符时,编号不会增加每一页。这是不增加每个页码的代码。

使用不起作用的代码,页码将保持“10”两页,然后增加到“11”。

任何帮助表示赞赏!

0 投票
0 回答
169 浏览

pdf - Microsoft Edge 弄乱了我的 CFDocument

有人对 Microsoft Edge 和 CFDocuments 有任何问题吗?我有一个 PDF 格式的文件,当用 Edge 打开时,它的行为不正常。细节:页面 A 有一个表单和一个提交按钮。当表单提交时,它会携带它到页面 B 并构建一个可以从浏览器正常保存或打印的 PDF 文档。但是当用Edge打开时,它会自动保存pdf,根本不打开页面。该功能适用​​于所有其他浏览器和所有其他操作系统,但不适用于带有 Edge 的 Windows 10。有没有遇到过这个问题或知道任何可能的补丁?