Domanda

abbiamo una grande quantità di contenuti PDF sul nostro sito.Ho alcune miniature CFPDF perfettamente utilizzabili generate dalla pagina 1 di ogni PDF.Ho pensato che sarebbe stato bello che la miniatura jpg fosse un collegamento in modo tale che quando fai clic su di essa, puoi vedere la prima pagina così com'è oppure viene generata un'altra anteprima a grandezza naturale.

Sto sperimentando l'utilizzo dell'azione di unione di CFPDF, ma finora senza molta fortuna.Non sembra esserci un modo per estrarre solo una singola pagina dal PDF, ma solo eliminarle.

Qualcuno ha dei suggerimenti?Lo apprezzo davvero!Grazie!

AGGIORNAMENTO: per provare a chiarire, ecco il codice che sto usando in questo momento.Ci scusiamo per la confusione!

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

Comunque spero che questo spieghi meglio quello che sto cercando di fare.Come ho detto, funziona, ma firstPage.pdf è sempre solo un file: cosa succede se più persone visualizzano contemporaneamente in anteprima diversi PDF, ad esempio?

Grazie!

È stato utile?

Soluzione

(Se capisco correttamente la domanda ...)

Sicuramente puoi utilizzare l'unione per estrarre una singola pagina:

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

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

cosa succede se più persone visualizzano in anteprima diversi PDF nel file stesso tempo, ad esempio?

Modifica: alcuni finiranno per visualizzare in anteprima la pagina sbagliata e / o l'immagine in miniatura;) Per evitare ciò, devi generare ogni volta un nome file univoco,come l'utilizzo di getTempFile () , createUUID () & ". pdf", eccetera.

Anche se tecnicamente non è necessario creare un file.Puoi generare immagini / pdf solo in memoria e servirli con cfcontent (come nell'esempio sopra).

Altri suggerimenti

È molto semplice

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

Questo trasformerà la prima pagina in un jpg

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top