Pregunta

tenemos una gran cantidad de contenido PDF en nuestro sitio.Tengo algunas miniaturas de CFPDF perfectamente utilizables generadas a partir de la página 1 de cada PDF.Pensé que sería bueno que la miniatura jpg sea un enlace de modo que cuando hagas clic en él, veas la primera página como está o se genere otra vista previa a escala completa.

Estoy experimentando con el uso de la acción de fusión de CFPDF, pero sin mucha suerte hasta ahora.No parece haber una forma de extraer una sola página del PDF, solo eliminarla.

¿Alguien tiene alguna sugerencia?¡Realmente lo aprecio!¡Gracias!

ACTUALIZACIÓN: para intentar aclarar, aquí está el código que estoy usando en este momento.¡Perdón por la confusión!

<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>

De todos modos, espero que eso explique mejor lo que estoy tratando de hacer.Como dije, esto funciona, pero firstPage.pdf es siempre un solo archivo. ¿Qué sucede si varias personas obtienen una vista previa de diferentes PDF al mismo tiempo, por ejemplo?

¡Gracias!

¿Fue útil?

Solución

(Si entiendo la pregunta correctamente ...)

Seguro que puede utilizar la combinación para extraer una sola página:

<cfpdf action = "merge" 
    source="c:\dev\myFile.pdf"
    pages="10"
    name="singlePage" />

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

¿Qué sucede si varias personas obtienen una vista previa de diferentes PDF en el al mismo tiempo, por ejemplo?

Editar: algunos de ellos terminarán obteniendo una vista previa de la página incorrecta y / o la imagen en miniatura;) Para evitar eso, debe generar un nombre de archivo único cada vez,como usar getTempFile () , createUUID () & ". pdf", etcétera.

Aunque técnicamente no es necesario crear un archivo.Puede generar imágenes / archivos PDF solo en la memoria y servirlos con cfcontent (como en el ejemplo anterior).

Otros consejos

Es muy fácil

<cfpdf source="pdfdata" pages="1" action="thumbnail" destination="." format="jpg" overwrite="true" resolution="high" scale="25">

Eso convertirá la página uno en un jpg

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top