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-ID: 309711

Url: https://administrator.de/forum/pdf-einstellung-fuer-druck-hinterlegen-2x-simplex-1x-duplex-in-einem-dokument-309711.html

Ausgedruckt am: 22.12.2024 um 20:12 Uhr

St-Andreas
St-Andreas 13.07.2016 um 17:16:12 Uhr
Goto Top
Das müsste im Adobe mittels "Actions" gehen. Google mal danach.
colinardo
Lösung colinardo 13.07.2016 aktualisiert um 18:52:16 Uhr
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
RiceManu
RiceManu 13.07.2016 um 18:47:01 Uhr
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
colinardo
colinardo 13.07.2016 aktualisiert um 19:51:39 Uhr
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...
RiceManu
RiceManu 13.07.2016 um 20:17:19 Uhr
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
colinardo
colinardo 13.07.2016 um 23:43:45 Uhr
Goto Top
Du kannst den Wert eines Feldes folgendermaßen abfragen und der NumCopies Eigenschaft zuweisen:
pp.NumCopies = parseInt(this.getField("NameDesFeldes").value);