【问题标题】:Taking 2 PDF images and putting them together in a single PDF page?拍摄 2 张​​ PDF 图像并将它们放在一个 PDF 页面中?
【发布时间】:2013-11-22 10:53:52
【问题描述】:

我正在尝试拍摄两张 PDF 图像并将它们合并到一个 PDF 页面上。它必须是 PDF 的原因是因为 JPG 是有损的,并且不会生成清晰的打印图像。他们在 Coldfusion 9 中是否可以合并这 2 个 PDF 图像?

注意:我确实找到了一个据说可以使 JPG 无损的 Photoshop 插件。如果是这样的话,CFIMAGE 将能够毫无问题地完成我的任务。在我去探索这个无损 JPG 选项之前,我想先看看 CFPDF 是否有一些我不知道的技巧。

【问题讨论】:

  • 您想如何合并图像?在彼此之上或之下/彼此旁边?
  • 我刚学CF9 cfimage可以使用TIFF格式,是无损的。所以我将 2 个 TIFF 文件合并为一个 1 个 tiff 文件,结果无损。哪个很棒,但是我如何将最终的 tiff 转换为 pdf?
  • 你很幸运,因为我很确定 cfdocument 支持从 Tiff 图像创建 PDF。
  • 好吧,我想我想通了...使用 CFIMAGE 处理不同的无损 tiff 文件,然后使用 生成最终的 PDF。

标签: pdf coldfusion


【解决方案1】:

好吧,我想我想通了……

尝试将 PDF 文件处理到单个页面上是不可能的。我发现 CF9 CFIMAGE 标签支持无损的 TIFF 格式。所以使用 2 个 TIFF 源文件 VS 2 个 PDF 源文件允许我使用 CFIMAGE 来操作无损 TIFF 文件

<cfimage source="#APPLICATION.config.serverpath#/background.tif" name="Background">
<cfimage source="#APPLICATION.config.serverpath#/ad1.tif" name="ad1">
<cfimage source="#APPLICATION.config.serverpath#/ad2.tif" name="ad2">

<cfset height1 = ImageGetHeight(ad1)> 
<cfset width1  = ImageGetWidth(ad1)>
<cfset height2 = ImageGetHeight(ad2)> 
<cfset width2  = ImageGetWidth(ad2)>
<cfset resImage1 = ImageCopy(ad1,0,0,width1,height1)> 
<cfset resImage2 = ImageCopy(ad2,0,0,width2,height2)>
<cfset ImagePaste(Background,resImage1,0,0)> 
<cfset ImagePaste(Background,resImage2,0,height1)> 

<cfimage source="#Background#" 
         action="write" 
         destination="#APPLICATION.config.serverpath#/test.tif" 
         overwrite="yes">

<cfdocument format="pdf" name="temp"> 
<img src="test.tif"> 
</cfdocument> 

<cffile action="write" 
        file="#APPLICATION.config.serverpath#/test.pdf" 
        output="#temp#">

生成最终的 PDF。

【讨论】:

  • 干得好。仅供参考,在上面的代码中,只有在引号内使用变量时才需要 # 符号。
猜你喜欢
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
  • 2013-06-03
  • 2019-12-06
  • 2017-10-23
  • 2016-01-03
  • 2012-06-16
相关资源
最近更新 更多