windows - Print XPS med PrintTicket, OutputColor PagesPerSheet fungerer ikke

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en .xps-fil genereret fra den indbyggede Microsoft xps-printer, jeg vil udskrive dette til en rigtig printer, men med ændrede attributter som: duplex, gråtoner, n-up osv.


Jeg fulgte eksempler fra MSDN og jeg kan udskrive .xps fint, men problemet er, at jeg kun kan indstille få attributter til jobbet. Ved at indstille PrintTicket med PrintQueue, udskrives job korrekt med ændrede kopier og dupleksindstillinger, men konverterer ikke til gråtoner eller ære eventuelle n-up-indstillinger. [1]


Det ser ud til, at jeg ikke er alene, fra denne formular ved at bruge hændelseshåndterer af WritingPrintTicketRequired, XPS-filer PrintTicket er blevet ændret med gråtoner, n-up-indstillinger, men ved at bruge PrintQueue.AddJob () vil opkaldet ikke udskrive dem i gråtoner eller n -up indstilling. [2]


Men hvis jeg bruger PrintDialog og manuelt vælger attributter, vil den udskrive som forventet. Hvis jeg forsøger at indstille PrintQueue og PrintTicket-egenskaben i PrintDialog, vil den ikke have ære for nogle af attributterne. [3]


Mit mål er, er programmatisk udskrevet xps-fil med attributter. Spørgsmålet er, hvordan kan jeg få PrintQueue til fuldt ære for PrintTicket?


FYI: xps-filen blev genereret som farve, og jeg kan se farvebilleder i .xps-pakken.


EDIT: Det viser sig, at printerdriveren på en eller anden måde ikke respekterer udskriftsindstillingerne, selv printeregenskaber viser, at den understøtter monokrom, meget ved at skifte til en anden driver. Angive gråtoner i udskriftsbilletten er dog forskellig fra at vælge gråtoner i udskrivningsdialog. UI: gråtoner i printbillet ville udgive monokrom billede og i spoolfil, det er angivet til gengivelse som farve, men billedet er det selv omdannet. Mens den senere ville generere et mere realistisk gråtonebillede.

Bedste reference