schmakus
Goto Top

Batch-File - Acrobat Duplex-Druck

Hi,

ich verwende ein Script (im I-Net gefunden) um mit Adobe Acrobat PDF-Dateien in einem Verzeichnis zu drucken.
Wie kann ich das Script modifizieren, bzw. gibt es beim Aufruf von Acrobat eine Variable, welche anweist das Dokument duplex zu drucken?

Hier das Script:

@echo off & setlocal enabledelayedexpansion
:loop

set anzahl=1
set /a x=%anzahl%+1

FOR /L %%z IN (1,1,%anzahl%) do (
FOR %%p in ("C:\alarmdisplay\data\*.pdf") do (  
start "Ausdruck" "C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe" /p /h "%%p"  
ping -n 10 localhost>nul
taskkill /F /IM AcroRd32.exe
)
)

move "C:\alarmdisplay\data\*.pdf" "C:\alarmdisplay\data\archiv\"  

Grüße
Schmakus

Content-Key: 281306

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

Printed on: April 19, 2024 at 21:04 o'clock

Mitglied: 114757
114757 Aug 27, 2015 updated at 07:43:02 (UTC)
Goto Top
Moin,
stell deinen Drucker in den Standardeinstellungen auf Duplex, oder erzeuge eine Kopie des Druckers in der du ihn auf Duplex in den Standardeinstellungen einstellst und dann den Druckauftrag an Ihn schickst.

Gruß jodel32
Member: colinardo
colinardo Aug 27, 2015 updated at 07:50:17 (UTC)
Goto Top
Hallo Schmakus,
wenn du Acrobat Professional haben solltest lässt sich das mit einem VBS-Script über die COM-Automatisierung machen:
(PDF-Ordner und Druckername in Zeile 1 und 2 angeben, den Duplex-Typ gibt man in Zeile 22 an)
folderPDF = "D:\AblagePDF"  
strPDFPrinterName = "HP Laserjet 1320"  

Set fso = WScript.CreateObject("Scripting.Filesystemobject")  
For Each file In fso.GetFolder(folderPDF).Files
	If LCase(Right(file.Name,3)) = "pdf" Then  
		PrintToPDFPrinter(file.Path)
	End If
Next

Sub PrintToPDFPrinter(f)
	Set objAcro = CreateObject("AcroExch.App")  
	Set docAV = CreateObject("AcroExch.AVDoc")  
	Set docPD = CreateObject("AcroExch.PDDoc")  
	ret = docAV.Open(f,"")  
	Set docPD = docAV.GetPDDoc()
	Set jsDoc = docPD.GetJSObject
	objAcro.Show
	Set pp = jsDoc.getPrintParams()
	pp.printerName = strPDFPrinterName
	'Duplex Druck, Flip über kurze Seite (alternativ "DuplexFlipLongEdge" oder "Simplex" bei einseitigem Druck)  
	pp.DuplexType = pp.constants.duplexTypes.DuplexFlipShortEdge
	pp.interactive = pp.constants.interactionLevel.silent
	jsDoc.print(pp)
	objAcro.Hide()
	objAcro.Exit()
	
	Set jsDoc = Nothing
	Set objAcro = Nothing
	Set docAV = Nothing
	Set docPD = Nothing
End Sub
Grüße Uwe
Member: colinardo
colinardo Dec 30, 2015 at 19:15:47 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.

Guten Rutsch.