Sonntag, Dezember 8, 2019

PDF-oder Word-Erstellung von Dokumenten mit Yii?

Hallo, ich bin mit dem erstellen einer Anwendung mit Yii und nun Berichte generieren. Mein Kunde will zum Bearbeiten der Berichte nach diesen generiert werden. Ich denke die beste Möglichkeit ist, erstellen Sie ein Word-Dokument, damit mein client wird in der Lage sein, um es zu Bearbeiten, aber ich kann nicht finden, Informationen oder Erweiterungen zum erstellen von Word-Dokumenten mit dem Yii-Framework.

Hab ich auch gesehen aber noch nicht testen, ein paar PDF-Erweiterungen wie DOMPDF, tcpdf und Zend_PDF. Aber wenn ich Generiere ein PDF-Bericht, dann, wie wird mein client geht um diese Datei zu Bearbeiten?

Jungs ich brauche Empfehlungen, wie Sie zur Bewältigung dieser Anforderung. Generieren Sie Word oder PDF-Dokumente? Das wird die Schnellste Lösung entwickeln?

InformationsquelleAutor ivantxo | 2011-11-23

3 Kommentare

  1. 3

    UPDATE 1:
    Im moment hab ich PDF-Dateien arbeiten. Dies ist, wie ich es gemacht habe: Zuerst habe ich heruntergeladen TCPdf von seiner Website und öffnen Sie es in Yii als 3rd-party-Bibliothek. Dann:

    Controller: protected/controllers/mycontroller.php
    public function actionGeneratePdf() {
        Yii::import('application.vendors.*');
        require_once('tcpdf/tcpdf.php');
        require_once('tcpdf/config/lang/eng.php');
        $pdf = new TCPDF();
        $pdf->SetCreator(PDF_CREATOR);
        $pdf->SetAuthor('Nicola Asuni');
        $pdf->SetTitle('TCPDF Example 001');
        $pdf->SetSubject('TCPDF Tutorial');
        $pdf->SetKeywords('TCPDF, PDF, example, test, guide');
        $pdf->SetHeaderData('', 0, PDF_HEADER_TITLE, '');
        $pdf->setHeaderFont(Array('helvetica', '', 8));
        $pdf->setFooterFont(Array('helvetica', '', 6));
        $pdf->SetMargins(15, 18, 15);
        $pdf->SetHeaderMargin(5);
        $pdf->SetFooterMargin(10);
        $pdf->SetAutoPageBreak(TRUE, 0);
        $pdf->SetFont('dejavusans', '', 7);
        $pdf->AddPage();
        $pdf->writeHTML("<span>Hello World!</span>", true, false, true, false, '');
        $pdf->LastPage();
        $pdf->Output("example_002.pdf", "I");
    }
    
    View: Wherever you want to place a trigger to your controller:
    echo CHtml::link('Generate PDF', array('mycontroller/generatePdf'));

    Trotzdem möchte ich in der Lage sein zum generieren eines word-Dokument als Voraussetzung, heißt es in dem Bericht wird bearbeitet, indem der Benutzer nach der Generierung.

    UPDATE 2:
    Für das Word-Dokument das report generation dies ist, was ich Tue.

  2. 1

    Erweiterungen stehen in Yii PDF-Dokumente zu erzeugen. tcpdf (http://www.yiiframework.com/extension/tcpdf/) zum Beispiel..

    Überprüfen Sie in diesem Artikel auf eine Allgemeine Zusammenstellung der verfügbaren Optionen für PDF und Excel
    http://www.yiiframework.com/wiki/74/

    Allerdings, wenn Sie müssen zum erstellen von word-Dokumenten, dann können Sie versuchen, die folgenden

    Schreiben Sie eine Erweiterung in Yii zu generieren word-Dokument (bitte klicken Sie auf diesen link, das zeigt, wie es im PHP – /Linux – Word-Dokument erstellen mit Hilfe von PHP in Linux)

    • Sorry für die späte Antwort. Ich versuche mit TCPDF, aber ich kann nicht ankommen es zu wirken. Ich den code für die PDF-Datei in eine controller-Funktion. Es es erreicht, aber es nicht tun. Ich habe diesen Fehler: Konstante K_PATH_CACHE bereits definiert (/var/www/wattquotes/protected/extensions/tcpdf/ETcPdf.php:85). Ich denke, dass ist nicht richtig eingestellt und ich finde nicht genug Informationen über diese Bibliothek.
    • Wie richten Sie diese Erweiterung? Die Dokumentation ist falsch. Es ist verwirrend!
    • Die Artikel, die Sie erwähnt link, sagte, dass tcpdf nicht richtig funktioniert. Was ist die beste option zum generieren von pdfs mit Yii, dann. Haben Sie es getan? Bitte senden Sie mir eine Probe!
  3. 1

    Erstellen word-Dokument, das Sie verwenden können, phpword-Bibliothek
    Und zu verwenden, extrahieren Sie den library-Ordner protected\extensions\PHPWord
    In diesem Ordner nachdem entpacken Sie Ihre Ordner: Beispiele, PHPWord und eine Datei: PHPWord.php .
    In Ihrem controller/- code, den Sie aufrufen müssen, wie in diesem Beispiel:

        spl_autoload_unregister(array('YiiBase','autoload'));
        Yii::import('ext.phpword.phpword', true);
        $PHPWord = new PHPWord();
        spl_autoload_register(array('YiiBase','autoload'));
        $document = $PHPWord->loadTemplate($path);
        $document->setValue('Value1', 'Sun');
        ....
        $document->save('path\file.docx');

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...