ricemanu
Goto Top

PDF Einstellung für Druck hinterlegen (2x simplex, 1x duplex in einem Dokument)

Hallo Leute,

folgende Problematik beschäftigt mich derzeit - es existiert eine Lieferschein-Vorlage als .PDF-Formular
zum Ausdruck auf 3-Blatt Durchschlag-/Durchschreibepapier (3 Blätter in versch. Farben) mittels HP-Laserdrucker.

Die Datei besteht aus zwei verschiedenen Seiten und sollte folgendermaßen gedruckt werden:

  • Blatt 1: Seite 1 der PDF, simplex
  • Blatt 2: Seite 1 der PDF, simplex
  • Blatt 3: Seite 1 und 2 der PDF als Duplex


Als PDF-Software verwende ich derzeit Acrobat Pro in der Version XI, leider finde ich im Dokumentendialog
keine Einstellungsmöglichkeit.

Im Druckertreiber des HP LaserJet 500 color MFP M570dn habe ich mich bereits umgesehen,
aber leider keine passende Option gefunden.

Vielleicht hat hier jemand noch eine Idee für einen Lösungsansatz?

Vielen Dank für Antworten und Ideen,
Gruß RiceManu

snipimage
(Abb.1: Acrobat Pro Dokumentendialog)

Content-Key: 309711

Url: https://administrator.de/contentid/309711

Printed on: April 24, 2024 at 16:04 o'clock

Member: St-Andreas
St-Andreas Jul 13, 2016 at 15:16:12 (UTC)
Goto Top
Das müsste im Adobe mittels "Actions" gehen. Google mal danach.
Member: colinardo
Solution colinardo Jul 13, 2016 updated at 16:52:16 (UTC)
Goto Top
Hallo RiceManu,
wenn du Acrobat Pro dein Eigen nennst kannst du das mit einem kleinen Acrobat JavaScript erledigen das du dann entweder als DocumentLevel JavaScript in das Formular packst und z.B. einem Button (zum Drucken) im Formular zuweist, oder das Skript durch eine Aktion (Aktionsassistent) ausführen lässt.
function CustomPrint(){
    // druck parameter holen
    var pp = this.getPrintParams();
    // erste und letzte zu druckende Seite festlegen (Index ist 0-based d.h. Seite 1 ist 0)
    pp.firstPage = 0;
    pp.lastPage = 1;
    // Druckername festlegen auf dem gedruckt wird
    pp.printerName = "HP LaserJet 500 color";  
    // Druck erfolgt automatisch ohne anzeige eines des Druckdialogs
    pp.interactive = pp.constants.interactionLevel.automatic;
    // Duplexmodus für den Druck auf Simplex festlegen
    pp.DuplexType = pp.constants.duplexTypes.Simplex;

    // ersten drucken ausführen
    this.print(pp);

    // erneut Seite 1-2 drucken, diesmal aber im Duplex-Modus (wenn DuplexFlipLongEdge nicht passt nutze "DuplexFlipShortEdge") 
    pp.DuplexType = pp.constants.duplexTypes.DuplexFlipLongEdge;
    this.print(pp);
}
CustomPrint();
Die weiteren verfügbaren Eigenschaften des PrintParams Objektes kannst du hier nachlesen:
http://help.adobe.com/livedocs/acrobat_sdk/9.1/Acrobat9_1_HTMLHelp/wwhe ...

Grüße Uwe
Member: RiceManu
RiceManu Jul 13, 2016 at 16:47:01 (UTC)
Goto Top
Hallo St-Andreas, Hallo Colinardo,

zu Antwort 1: Wenn ich Versuche über den Aktionsassistent versuche zu drucken,
habe ich leider keine Möglichkeit Parameter mit zu übergeben.

acrobatprintass
(Acrobat Aktionsassistent)


zu Antwort 2: In dem JavaScript muss ich eigentlich nur die Druckerbezeichnung abändern.
Leider reagiert Acrobat nicht auf das Script. Weder hinterlegt in einem Button noch als Action im Aktionsassistent.

Vielleicht komme ich mit dem Link von Uwe weiter.
Danke für eure Hilfe!
ricemanu
Member: colinardo
colinardo Jul 13, 2016 updated at 17:51:39 (UTC)
Goto Top
zu Antwort 2: In dem JavaScript muss ich eigentlich nur die Druckerbezeichnung abändern.
Leider reagiert Acrobat nicht auf das Script. Weder hinterlegt in einem Button noch als Action im Aktionsassistent.
Ja, aber wenn du es nur so wie es oben steht in den Aktionsdialog kopierst ohne weitere Anpassung kann es nicht laufen, da es eine Funktion ist (JavaScript function) welche natürlich erst läuft wenn du sie auch I'm Code aufrufst face-wink

Also entweder unter den Code noch ein
CustomPrint();
setzen oder den Code ohne das "Funktionsgerüst" in den Dialog für das JavaScript kopieren ! Dann klappt das auch bei dir ... hier einwandfrei getestet.

Wenn es ein Netzwerkdrucker sein sollte musst du bei dir vermutlich den kompletten Freigabenamen des Druckers angeben und dabei die Backslashes escapen:
pp.printerName = "\\\\Server\\PrinterXY";  

Grüße Uwe

-edit- habe den Funktionsaufruf nun noch oben im Code ergänzt...
Member: RiceManu
RiceManu Jul 13, 2016 at 18:17:19 (UTC)
Goto Top
Hallo Uwe,

super jetzt funktioniert's einwandfrei. Habe den Code in Notepad++ angepasst, in Acrobat kopiert und am Ende das Semikolon nicht
mit kopiert.

Hab jetzt noch nach einer Möglichkeit gesucht die Anzahl der Exemplare anzugeben, bin aber mit dem Dropdown nicht weitergekommen
(Exportwert). Habe es jetzt mit drei Schaltflächen und pp.NumCopies gelöst.

Vielen Dank für deine Hilfe!

Gruß,
RiceManu
Member: colinardo
colinardo Jul 13, 2016 at 21:43:45 (UTC)
Goto Top
Du kannst den Wert eines Feldes folgendermaßen abfragen und der NumCopies Eigenschaft zuweisen:
pp.NumCopies = parseInt(this.getField("NameDesFeldes").value);