首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Coldfusion cfpdf缩略图加预览?

Coldfusion cfpdf缩略图加预览?
EN

Stack Overflow用户
提问于 2012-02-22 04:31:01
回答 2查看 1.4K关注 0票数 0

我们的网站上有大量的PDF内容。我有一些非常有用的CFPDF缩略图生成的每个PDF的第1页。我认为有一个缩略图jpg是一个很好的链接,这样当你点击它时,你要么看到原样的第一页,要么生成另一个全尺寸的预览。

我正在尝试使用CFPDF的合并操作,但到目前为止还没有成功。似乎没有一种方法可以只从PDF中提取单个页面--只能删除它们。

有人有什么建议吗?我真的很感激!谢谢!

更新:试着澄清一下,下面是我现在使用的代码。很抱歉给您带来了混乱!

代码语言:javascript
复制
<cfset dir = expandPath("\images\thumbs")>
<cfif not directoryExists(dir)>
    <cfdirectory action="create" directory="#dir#">
</cfif>
<cfset firstPage = expandPath("\images\thumbs\firstPage.pdf")>

<cfpdf action="thumbnail"
source="source"
destination="#dir#" 
format="jpg" 
scale="40"
overwrite="yes"
pages="1" 
resolution="low">
<cfpdf action="merge"
source="sameSource"
pages="1"
destination="#firstPage#"
overwrite="yes">
<a href="firstPage.pdf" target="_blank"> 
<img src="thumbnail.jpg" style="border: 1px solid silver;">
</a>

无论如何,我希望这能更好地解释我正在尝试做的事情。就像我说的,这是可行的,但firstPage.pdf总是一个文件--例如,如果几个人同时预览不同的PDF会发生什么?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-22 04:56:14

(如果我对问题的理解正确...)

确保您可以使用merge来提取单个页面:

代码语言:javascript
复制
<cfpdf action = "merge" 
    source="c:\dev\myFile.pdf"
    pages="10"
    name="singlePage" />

<cfcontent type="application/pdf" variable="#ToBinary(singlePage)#">    

例如,如果几个人同时预览不同的PDF会发生什么情况?

编辑:它们中的一些将最终预览错误的页面和/或缩略图;)为了避免这种情况,您必须每次都生成一个唯一的文件名,例如使用getTempFile()createUUID()和“.pdf”等。

尽管从技术上讲,您不必创建文件。您可以仅在内存中生成图像/pdf,并将其与cfcontent一起提供(如上例所示)。

票数 2
EN

Stack Overflow用户

发布于 2012-02-22 06:41:51

这很容易

代码语言:javascript
复制
<cfpdf source="pdfdata" pages="1" action="thumbnail" destination="." format="jpg" overwrite="true" resolution="high" scale="25">

这将把第一页变成一个jpg。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9384682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档