Frage

Wir haben viele PDF-Inhalte auf unserer Website.Ich habe einige perfekt verwendbare CFPDF-Miniaturansichten, die aus Seite 1 jeder PDF-Datei generiert wurden.Ich dachte, es wäre schön, wenn das Miniaturbild jpg ein Link wäre, so dass Sie beim Klicken entweder die erste Seite so sehen, wie sie ist, oder eine andere Vorschau in vollem Umfang generiert wird.

Ich experimentiere mit der Zusammenführungsaktion von CFPDF, aber bisher ohne viel Glück.Es scheint keine Möglichkeit zu geben, nur eine einzelne Seite aus dem PDF zu extrahieren - nur zu löschen.

Hat jemand Vorschläge?Ich weiß das wirklich zu schätzen!Danke!

UPDATE: Um dies zu klären, ist hier der Code, den ich gerade verwende.Entschuldigung für die Verwirrung!

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

Wie auch immer, ich hoffe, das erklärt besser, was ich versuche zu tun.Wie gesagt, das funktioniert, aber firstPage.pdf ist immer nur die eine Datei - was passiert, wenn beispielsweise mehrere Personen gleichzeitig eine Vorschau verschiedener PDFs anzeigen?

Danke!

War es hilfreich?

Lösung

(Wenn ich die Frage richtig verstehe ...)

Sicher können Sie Merge verwenden, um eine einzelne Seite zu extrahieren:

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

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

Was passiert, wenn mehrere Personen unterschiedliche PDF-Dateien in der Vorschau anzeigen? zur gleichen Zeit zum Beispiel?

Bearbeiten: Einige von ihnen zeigen am Ende eine Vorschau der falschen Seite und / oder des Miniaturbilds an.) Um dies zu vermeiden, müssen Sie jedes Mal einen eindeutigen Dateinamen generieren.Verwenden Sie beispielsweise getTempFile () , createUUID () & ". pdf" usw.

Technisch gesehen müssen Sie jedoch keine Datei erstellen.Sie können Bilder / PDFs nur im Speicher generieren und mit cfcontent bereitstellen (wie im obigen Beispiel).

Andere Tipps

Es ist sehr einfach

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

Dadurch wird Seite eins zu einem JPG

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top