PDF in PHP bearbeiten? [closed]

Lesezeit: 6 Minuten

Benutzeravatar von kaybenleroll
kaybenleroll

Kennt jemand eine gute Methode zum Bearbeiten von PDFs in PHP? Vorzugsweise Open-Source-/lizenzfreie Methoden. 🙂

Ich denke etwa daran, eine PDF-Datei zu öffnen, Text in der PDF-Datei zu ersetzen und dann die geänderte Version der PDF-Datei zu schreiben?

Am Frontend

  • Ich habe nur FPDF verwendet und finde es großartig. Wie wirklich toll.

    – SQLMason

    17. Oktober 2011 um 17:02 Uhr

  • Auch hier habe ich versucht, eine schnelle Lösung zu finden. Ich wollte das gleiche PDF für jede meiner Produktseiten, aber mit ersetzter Produktnummer und Produktnamen auf jeder PDF. Ich habe festgestellt, dass die Verwendung von Seriendruck (Word oder OpenOffice) eigentlich der einfachste Weg ist, dies zu tun. Dann habe ich alle pdfs exportiert und hochgeladen. Hoffe das hilft jemandem.

    – Nicht Jay

    2. September 2015 um 19:09 Uhr

  • Warum wurde es als nicht fokussiert genug angesehen?

    – Deutsch

    20. Mai 2021 um 13:13 Uhr

Benutzeravatar von grom
grom

Wenn Sie nach dem „Leerzeichen“-Ansatz vorgehen, können Sie den Text genau an beliebiger Stelle auf der Seite positionieren. Es ist also relativ einfach (wenn nicht sogar etwas mühsam), den fehlenden Text in das Dokument einzufügen. Zum Beispiel mit Zend Framework:

<?php
require_once 'Zend/Pdf.php';

$pdf = Zend_Pdf::load('blank.pdf');
$page = $pdf->pages[0];
$font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_HELVETICA);
$page->setFont($font, 12);
$page->drawText('Hello world!', 72, 720);
$pdf->save('zend.pdf');

Wenn Sie versuchen, Inline-Inhalte zu ersetzen, z. B. ein “[placeholder string],” wird es viel komplizierter. Obwohl es technisch möglich ist, werden Sie wahrscheinlich das Layout der Seite durcheinander bringen.

Ein PDF-Dokument besteht aus einer Reihe primitiver Zeichenoperationen: Linie hier, Bild hier, Textabschnitt dort usw. Es enthält keine Informationen über die Layoutabsicht dieser Primitiven.

  • Das ist toll! Ich wusste nicht, dass das Zend Framework kostenlos ist, ich war verwirrt von Zend Studio, das proprietär ist.

    – Liam

    7. Oktober 2008 um 10:03 Uhr

  • Nur ein Wort der Vorsicht für alle, die versuchen, dies zu verwenden: Es funktioniert nur mit PDFs, die in Acrobat Version 4 und früher erstellt wurden. Nach Version 4 begann Adobe mit der Kodierung von Dateien, wodurch es schwieriger wurde, Änderungen an PDFs vorzunehmen (oder in andere PDFs zu importieren).

    – Darryl Hein

    9. Juni 2009 um 1:26 Uhr

  • PDF 1.4-Unterstützung wurde inzwischen hinzugefügt.

    – Raffael Schweikert

    14. April 2011 um 9:49 Uhr


  • Funktioniert das jetzt auch ohne Zend?

    – Wilhelm Entriken

    11. April 2013 um 17:24 Uhr

  • Jede Lösung, wenn ich Inhalte wie ersetzen wollte [placeholder string]?

    – Starx

    26. August 2013 um 9:28 Uhr

Metatrons Benutzeravatar
Metatron

Es gibt eine kostenlose und einfach zu verwendende PDF-Klasse zum Erstellen von PDF-Dokumenten. Es heißt FPDF. In Kombination mit FPDI (http://www.setasign.de/products/pdf-php-solutions/fpdi) ist es sogar möglich, PDF-Dokumente zu bearbeiten. Der folgende Code zeigt, wie man FPDF und FPDI verwendet, um einen bestehenden Geschenkgutschein mit den Benutzerdaten zu füllen.

require_once('fpdf.php'); 
require_once('fpdi.php'); 
$pdf = new FPDI();

$pdf->AddPage(); 

$pdf->setSourceFile('gift_coupon.pdf'); 
// import page 1 
$tplIdx = $this->pdf->importPage(1); 
//use the imported page and place it at point 0,0; calculate width and height
//automaticallay and ajust the page size to the size of the imported page 
$this->pdf->useTemplate($tplIdx, 0, 0, 0, 0, true); 

// now write some text above the imported page 
$this->pdf->SetFont('Arial', '', '13'); 
$this->pdf->SetTextColor(0,0,0);
//set position in pdf document
$this->pdf->SetXY(20, 20);
//first parameter defines the line height
$this->pdf->Write(0, 'gift code');
//force the browser to download the output
$this->pdf->Output('gift_coupon_generated.pdf', 'D');

  • Ausgezeichnete Bibliothek – war genau das, wonach ich gesucht habe, danke für die Empfehlung

    – James Geldart

    26. Januar 2012 um 15:53 ​​Uhr

  • Das ist gut, aber in einigen PDF-Dateien gibt es diesen Fehler "FPDF error: This document (testcopy.pdf) probably uses a compression technique which is not supported by the free parser shipped with FPDI." Irgendeine Lösung dafür?

    Benutzer1360768

    29. August 2012 um 5:19 Uhr


  • Sie müssen Ihr PDF in eine ältere Version (pdf 1.4) konvertieren oder die kommerzielle Edition von fpdi verwenden. Wir bieten einen Parser-Ersatz als separates kommerzielles Add-On an, das es FPDI ermöglicht, Dokumente zu verarbeiten, die diese Komprimierungsfunktionen verwenden. Quelle

    – SchweizerFr

    1. März 2018 um 9:10 Uhr


  • Ist es möglich, SourceFile von einer anderen Webseite aus zu setzen? Beispiel: example.com/file.pdf?

    – Alex

    30. Juni 2020 um 11:23 Uhr

Benutzeravatar von AdamTheHutt
AdamTheHutt

Wenn Sie wirklich einfache PDFs benötigen, dann Zend bzw FPDF ist gut. Allerdings finde ich es schwierig und frustrierend, mit ihnen zu arbeiten. Außerdem gibt es aufgrund der Funktionsweise der API keine gute Möglichkeit, Inhalt von Präsentation und Geschäftslogik zu trennen.

Aus diesem Grund verwende ich dompdf, das HTML und CSS automatisch in PDF-Dokumente konvertiert. Sie können eine Vorlage wie eine HTML-Seite gestalten und die Standard-HTML-Syntax verwenden. Sie können sogar eine externe CSS-Datei einbinden. Die Bibliothek ist nicht perfekt und sehr komplexes Markup oder CSS wird manchmal verstümmelt, aber ich habe nichts anderes gefunden, das auch funktioniert.

  • -1 Da es die Frage nicht beantwortet. Der Poster möchte vorhandene PDFs bearbeiten und nicht von Grund auf neu erstellen.

    – Rückerstattung

    26. Januar 2012 um 11:24 Uhr

  • Ich bin auf diese Seite gekommen, weil ich ein PDF bearbeiten wollte, aber diese Antwort scheint mir nützlicher zu sein, weil ich sehen kann, warum es einfacher ist, in HTML von Grund auf neu aufzubauen, als ein vorhandenes PDF zu bearbeiten.

    – Justin Vincent

    29. März 2012 um 21:44 Uhr

Ich weiß nicht, ob dies eine Option ist, aber es würde der PDF-Bibliothek von Zend sehr ähnlich funktionieren, aber Sie müssen keinen Haufen zusätzlichen Codes (das Zend-Framework) laden. Es erweitert nur FPDF.

http://www.setasign.de/products/pdf-php-solutions/fpdi/

Hier können Sie im Grunde dasselbe tun. Laden Sie die PDF-Datei, schreiben Sie darüber und speichern Sie sie dann in einer neuen PDF-Datei. In FPDI fügen Sie das PDF im Grunde als Bild ein, sodass Sie alles darüber legen können, was Sie wollen.

Aber auch hier wird FPDF verwendet. Wenn Sie das also nicht verwenden möchten, funktioniert es nicht.

Benutzeravatar von Juan
Juan

Zend Framework kann vorhandene PDF-Dateien laden und bearbeiten. Ich denke, es unterstützt auch Revisionen.

Ich verwende es, um Dokumente in einem Projekt zu erstellen, und es funktioniert großartig. Habe aber nie eines bearbeitet.

Schauen Sie sich das Dokument an Hier

Benutzeravatar von Ross
Roß

Die PDF/pdflib-Erweiterungsdokumentation in PHP ist spärlich (etwas, das in bugs.php.net vermerkt wurde) – ich empfehle Ihnen, die Zend-Bibliothek zu verwenden.

Benutzeravatar von Mufaddal
Mufaddal

Tcpdf ist auch eine gute Bibliothek zum Generieren von PDFs in PHP
http://www.tcpdf.org/

  • Für alle, die suchen, wie man Kopf- und Fußzeilen einfach hinzufügt, hat TCPDF ein sehr einfaches und effektives Beispiel: tcpdf.org/examples/example_003

    – Alen Simunic

    1. Juli 2018 um 8:43 Uhr

  • tcPDF dient zum Generieren neuer PDF-Dateien. Die Frage bezieht sich auf das Ändern bereits vorhandener PDFs.

    – Deutsch

    15. Juli 2021 um 19:16 Uhr

1445130cookie-checkPDF in PHP bearbeiten? [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy