Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

C# - Printen van RAW Postscript bestand ...

Pagina: 1
Acties:

  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
Graag wil ik een RAW Postscript bestand afdrukken binnen C# (VS.NET 2005) :

Heb nu via het PrintDocument pd = new PrintDocument(); object geprint, maar dan wordt alles als Plain Tekst afgedrukt :(

---------------------------------------------------------------------------------------------------------------------------------------------

%!PS-Adobe-3.0
%%Title: Microsoft Word - Dit is een test.doc
%%Creator: PScript5.dll Version 5.2.2
%%CreationDate: 3/12/2008 16:59:16
%%For: fpostma
%%BoundingBox: (atend)
%%Pages: (atend)
%%Orientation: Portrait
%%PageOrder: Special
%%DocumentNeededResources: (atend)
%%DocumentSuppliedResources: (atend)
%%DocumentData: Clean7Bit
%%TargetDevice: (Ghostscript) (3010) 815
%%LanguageLevel: 3
%%EndComments

%%BeginDefaults
%%PageBoundingBox: 0 0 595 842
%%ViewingOrientation: 1 0 0 1
%%EndDefaults


%%BeginProlog
%%BeginResource: file Pscript_WinNT_ErrorHandler 5.0 0

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
C#:
1
File.Copy(PostScriptFile, "\\\\server\\printershare");

:Y)
Bij mijn weten werkt dat.

Verder vind ik je topic trouwens wel wat karig; je dumpt wat postscript (weinig relevant) en anderhalve zin waarin je het probleem uitlegt. Graag wijs ik je op onze Programming Beleid Quickstart en wil ik je verzoeken daar voortaan wat meer op te letten als je een topic opent. Overigens zie ik net dat we je er niet voor het eerst op wijzen. Doe er nou eens iets mee en maak ons en jezelf een stukje gelukkiger ;)

[ Voor 119% gewijzigd door RobIII op 19-03-2008 15:59 . Reden: Slashes toegevoegd :X ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 16:28

TeeDee

CQB 241

Of lpr.exe aanspreken via Diagnostics.Process oid. Afaik kan deze prima raw files verzenden naar een Postscript enabled Printer!

Maar dat is ook weer sterk afhankelijk van welk OS je gebruikt.Het is lpr.exe, geen lpt.exe en vziw is deze op elke Windows OS > 2000 standaard te vinden.

[ Voor 21% gewijzigd door TeeDee op 18-03-2008 13:42 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je krijgt toch wat je vraagt? RAW = PLAIN TEXT!! RAW betekend *NIET* opgemaakte tekst. RAW HTML is opmaak codes + tekst.

Ik denk dat je bedoeldt dat je middels postscript de printer wilt aansturen. Je kunt via de System.Printing namespace wel enigsinds printers aansturen, maar de mogelijkheden daarvan zijn vrij beperkt. Postscript is net als PLC een interface (abstracte hardware layer) om printers universeel aan te sturen. Dat betekend directe hardware aansturing, iets wat per definitie niet mogelijk is in een managed omgeving. Wel zou je eventueel middels C++(.net) een wrapper driver kunnen maken welke je daarna kunt benaderen vanuit C# of VB.NET.

If it isn't broken, fix it until it is..


Verwijderd

PostScript en PCL zijn geen interfaces, maar interpreters die een stuk code omzetten naar pixels op je papier. Als je mazzel hebt bevat de printer die interpreter, en anders gebruik je een stukkie software als GhostScript.
Om die interpreter goed te laten werken moet je echter wel de sourcecode (het PS document) RAW naar de printer sturen, en File.Copy() doet dat prima in een .NET omgeving. Heeft vrij weinig met managed vs unmanaged te maken in dit geval. :)
Wanneer je zelf de pinnetjes van de parallelle poort aan wil spreken heb je overigens wel gelijk.

  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
Okee LPR.EXE zou volstaan zij het niet dat ik de volgende fout melding krijg: Fout: afdrukserver onbereikbaar of gespecificeerde printer bestaat niet. Alles geprobeert en LPR gestart met de opties: lpr -S localhost -P PDF995 GSOUTPUT.PS

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 16:28

TeeDee

CQB 241

lpr -S localhost -P PDF995 C:\gsoutput.ps

- klopt de printernaam / spool?

Wat wil je eigenlijk bereiken?

[ Voor 16% gewijzigd door TeeDee op 19-03-2008 14:43 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-11 18:33
Heb je wel een lpd print queue op je pc? Volgens mij zit dat ergens onder extra network/printing services in de Windows Components.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
ja, de printerwachtrij (-P) en server (localhost) staan goed. Ook op andere servers geprobeert, maar geen succes. Het gaat erom om een Postscript bestandje aftedrukken.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 16:28

TeeDee

CQB 241

Is het dan niet makkelijker om vanuit Ghostscript (of rechtstreeks in C# icm iTextSharp) een PDF te maken en deze af te drukken?

Dat je een PS file af wil drukken was me al duidelijk, maar de context niet... vandaar mijn vraag.
E.Greidanus schreef op woensdag 19 maart 2008 @ 14:55:
Ha, nee nog geen LPD print queue volgens mij ... ga gelijk even proberen. Als ik zo vrij mag zijn: File.Copy(PostScriptFile, "\\server\printershare"); lukt mij na lang proberen helaas niet :( zit met de \\ te kloten. Het moet naar \\uman1\hp2200 en weet iemand hoe in C#?
Wat dacht je van

C#:
1
File.Copy(PostScriptFile,@"\\server\printershare");

[ Voor 87% gewijzigd door TeeDee op 19-03-2008 14:59 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
Ha, nee nog geen LPD print queue volgens mij ... ga gelijk even proberen. Als ik zo vrij mag zijn: File.Copy(PostScriptFile, "\\server\printershare"); lukt mij na lang proberen helaas niet :( zit met de \\ te kloten. Het moet naar \\uman1\hp2200 en weet iemand hoe in C#? De File.Copy heeft mijn voorkeur aangezien niet iedereen een LPD print queue heeft ...

[ Voor 24% gewijzigd door E.Greidanus op 19-03-2008 14:59 ]


  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
[...]

Wat dacht je van

C#:
1
File.Copy(PostScriptFile,@"\\server\printershare");
Fire in the Hole !!! ::SWEET:: Many Thanx &nnuh volgende keer zal ik mijn topic-je beter gaan omschrijven.

  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
Nu doet het volgende zich voor:

In het standaard Windows selecteer printer schermpje krijg je de keuze uit een lijst van printers en deze wil ik graag gaan gebruiken.

Bijvoorbeeld "HP Color LaserJet 2840 PCL 6" echter de referentie (of queue naam) daar naar toe is "\\uman1\hp2840".

Is er een look-up of vertaling mogelijk naar "\\uman1\hp2840" ?

Wanneer ik de debugger van VS.NET 2008 aanzet en de object collectie van printDialog is daar helaas niks te vinden ...

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 16:28

TeeDee

CQB 241

Via WMI? (om maar eens iets te noemen)

Een beetje eigen inbreng kan ook geen kwaad hoor. Als jij voor elke scheet een nieuwe reply plaatst omdat je er niet uitkomt komt niet echt goed over.

[ Voor 92% gewijzigd door TeeDee op 19-03-2008 15:35 ]

Heart..pumps blood.Has nothing to do with emotion! Bored


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
E.Greidanus schreef op woensdag 19 maart 2008 @ 15:17:
[...]


Fire in the Hole !!! ::SWEET:: Many Thanx &nnuh volgende keer zal ik mijn topic-je beter gaan omschrijven.
Kwestie van escapen; dat is echt basic C#. Ik had in mijn reply de extra slashes vergeten, maar dat mag je toch niet weerhouden van het even verder kijken dan je neus lang is? Datzelfde geldt voor de rest van dit topic; probeer voortaan eens wat verder uit te zoeken / kijken voordat je weer een reply post. We helpen je van harte hoor, echt, maar we houden niet van handjes vasthouden ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • E.Greidanus
  • Registratie: November 2000
  • Laatst online: 14-11-2017
Jullie hebben gelijk ... was eerlijk ondertussen zelf verder aan het zoeken en dacht core2duo stel hier gelijk de vraag ook efkus ... Heb nog een hoop te leren, krijg veel commentaar maar heb ooit als helpdeskmedewerker een lederen huid / bord voor mijn harsus gekregen ... houdt niet in dat ik niet wat beter mijn best zou moeten doen met topicsstarts en posts ...
Pagina: 1