Seite 1 von 1

Kleine Erweiterung zu Autoprint

Verfasst: Fr 24. Feb 2017, 12:02
von Hubert
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)
.

Re: Kleine Erweiterung zu Autoprint

Verfasst: So 26. Mär 2017, 18:56
von thelifeofapanca
Danke Danke Danke!!! :mrgreen: :mrgreen: :mrgreen:

Re: Kleine Erweiterung zu Autoprint

Verfasst: Do 6. Sep 2018, 10:18
von mexman
WOW! Super! Wenn ich gross bin will ich HUBERT werden!

Gruss
Michael

Re: Kleine Erweiterung zu Autoprint

Verfasst: Do 6. Sep 2018, 10:56
von Hubert
:lol:
Merci!
War aber gar kein soo großer Act ...