Question

Nous avons beaucoup de contenu PDF sur notre site. J'ai des miniatures CFPDF parfaitement utilisables générées à partir de la page 1 de chaque PDF. J'ai pensé que ce serait bien d'avoir la miniature que JPG soit un lien tel que lorsque vous cliquez dessus, vous voyez soit la première page telle quel, ou un autre aperçu à grande échelle est généré.

J'expérimente l'utilisation de l'action de fusion de CFPDF, mais sans beaucoup de chance jusqu'à présent. Il ne semble pas y avoir un moyen d'extraire une seule page du PDF - supprimez-les uniquement.

Quelqu'un a-t'il des suggestions? J'apprécie vraiment cela! Merci!

MISE À JOUR: Pour essayer de clarifier, voici le code que j'utilise en ce moment. Désolé pour la confusion!

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

Quoi qu'il en soit, j'espère que cela explique mieux ce que j'essaie de faire. Comme je l'ai dit, cela fonctionne, mais FirstPage.pdf n'est toujours que le seul fichier - que se passe-t-il si plusieurs personnes prévisualisent différents PDF en même temps, par exemple?

Merci!

Était-ce utile?

La solution

(Si je comprends correctement la question ...)

Bien sûr, vous pouvez utiliser Merge pour extraire une seule page:

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

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

Que se passe-t-il si plusieurs personnes prévisualisent différents PDF en même temps, par exemple?

Éditer: Certains d'entre eux finiront par prévisualiser le mauvais Page et / ou Image miniature;) Pour éviter cela, vous devez générer un nom de fichier unique à chaque fois, comme l'utilisation getTempFile (), createUuid () & ". PDF", ettera.

Bien que techniquement, vous n'avez pas à créer de fichier. Vous pouvez générer des images / PDF en mémoire uniquement et les servir avec CFContent (comme dans l'exemple ci-dessus).

Autres conseils

C'est très facile

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

Qui transformera la page un en JPG

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top