Kleine Erweiterung zu Autoprint

Alles zum Thema Add-Ons und sonstige Erweiterungen / Verbesserungen für FPDF
Hubert
Benutzer
Beiträge: 10
Registriert: Di 3. Sep 2013, 11:22

Kleine Erweiterung zu Autoprint

Beitragvon Hubert » Fr 24. Feb 2017, 12:02

Unsere PDF-Dateien haben fast immer 2 Seiten, wovon die 2.Seite zwar da sein muss, aber für den Ausdruck nicht benötigt wird.
Darum störte es mich schon seit geraumer Zeit, dass ich im Druckdialog immer "Aktuelle Seite" vor dem Drucken auswählen musste.

Diese Woche hatte ich ein wenig Zeit und ich habe mich daher ein wenig mit der AutoPrint Funktion gespielt.
Raus gekommen ist eine Abwandlung der Funktion, bei der man zusätzlich folgendes voreinstellen kann:
1. VON-BIS Seiten voreinstellen
2. Anmerkungen drucken, JA-NEIN
3. Dokument auf Druckbereich reduzieren, JA-NEIN
(z.B. Notwendig für Tracker PDF-XChange Editor, weil der sonst immer versucht, mit der default-Einstellung zu drucken)

Code: Alles auswählen

   // 2017-23-JAN
   // -----------------------------------------------------------------------------------------------------
   // Erweiterung AutoPrint um Seiten von-bis, Druck an Seitengröße anpassen, Anmerkungen drucken: ja-nein
   // Die Seitenzahlen müssen absolut übergeben werden, für Seiten 1-3 also: 1, 3
   // Achtung: Es erfolgt keine Prüfung, ob es die Seiten im Dokument gibt !!
   // -----------------------------------------------------------------------------------------------------
   //Erzeugt einen JS-Befehl in der Art: print({bUI: true, bShrinkToFit: true, nStart:1, nEnd:3});
   // siehe auch Adobe SDK:
   // http://help.adobe.com/en_US/acrobat/acrobat_dc_sdk/2015/HTMLHelp/index.html#t=Acro12_MasterBook%2FJS_API_AcroJS%2FDoc_methods.htm%23TOC_print1bc-80&rhtocid=_6_1_8_23_1_79
   
   function AutoPrintExt($dialog=false, $shrinkToFit=true, $annotations=false, $startPage=false, $endPage=false)
   {
      $dialog=($dialog ? 'true' : 'false');
      $shrinkToFit=($shrinkToFit ? 'true' : 'false');
      $annotations=($annotations ? 'true' : 'false');
      $startPage=( ((int)$startPage>=1) ? $startPage : false);
      $endPage=( ((int)$endPage>=1) ? $endPage : false);
      $script="print({ bUI: $dialog, bShrinkToFit: $shrinkToFit, bAnnotations: $annotations";
      $script.=( ((int)$endPage>=1 && (int)$startPage>=1) ? ", nStart: ".($startPage-1).", nEnd:".($endPage-1) : "");
      $script.="});";
      $this->IncludeJS($script);
   }


Falls das jemand für sich interessant finden sollte, kann den o.g. Codeblock in seine Datei fpdf_autoprint.php einfügen,
z.B. vor der Zeile

Code: Alles auswählen

function AutoPrint($dialog=false)
.

thelifeofapanca
Benutzer
Beiträge: 2
Registriert: Sa 25. Mär 2017, 15:44
Kontaktdaten:

Re: Kleine Erweiterung zu Autoprint

Beitragvon thelifeofapanca » So 26. Mär 2017, 18:56

Danke Danke Danke!!! :mrgreen: :mrgreen: :mrgreen:


Zurück zu „Add-Ons“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast