PDF in Microsoft Access

by Damiaan Peeters 30. January 2008 09:46

Even een korte uitleg hoe deze werken.
Je hebt 2 delen.
1) De printer
De printer is meestal niet meer dan een printer met een gewone generic Printer driver die PostScript (PS) creert.  
Als je de driver zo instelt dat alles wordt opgeslagen naar een bestand, dan kan het tweede deel in gang treden.
2) de PDF generator  (zeg maar de acrobat distiller)
Als een nieuw bestand wordt ontdekt in een bepaalde directory, dan wordt de PostScript omgezet naar PDF.  Aangezien de gelijkenis hier zeer groot is, doen deze programma's dat zonder problemen.

[more]
Een gratis programma dat dit doet is GhostScript (http://pages.cs.wisc.edu/~ghost/doc/GPL/index.htm).  Dit wordt ook regelmatig gebruikt door andere PDF Printers.

Ik heb enkele programma's gevonden die een DEVELOPER API aanbieden.  Deze zijn meestal vrij duur voor zover ik prijzen heb teruggevonden.  De prijzen varieerden tussen de paar honderd dollar en zelfs meer dan 1000 dollar.

  • PrimoPDF (http://www.primopdf.com/)
  • ActivePDF: gelinkt aan PrimoPdf volgens mij, én zeer duur http://www.activepdf.com/
  • CutePDF: maakt overigens gebruik van Ghostscript. (http://www.cutepdf.com/Products/CutePDF/writer.asp)
  • ExpertPDF (http://www.html-to-pdf.net)
Enkele alternatieven (zonder dev. api), maar wél gratis.

  • PDF4Free (gratis) http://www.pdfpdf.com/pdf4free.html
  • Bullzip Pdf Printer (gratis) http://www.bullzip.com/products/pdf/info.php
...  Hier vind je er zéér veel van terug.  Opgelet sommigen hebben reclame aan boord...

Andere formaten

Waarom PDF?  Er zijn ook alternatieven die goed verspreid zijn...
Microsoft heeft er 2 in petto.

De eerste noemt  MDI (Microsoft Office Document Image Format), zit in de office versies vanaf Office XP dacht ik.
(http://office.microsoft.com/en-gb/help/HP010771031033.aspx)
Een whitepaper hierover (niet gelezen): Office 2003: Microsoft Office Document Imaging Visual Basic Reference (MODI) (exe): 

XPS kan je gebruiken als je hetzelfde effect wil, maar gebaseerd op XML!
Dit zou naar de toekomst toe dus veiliger zijn dan een propriaty format...
Hier kan je de viewer & writer downloaden indien je die nog niet zou hebben: http://www.microsoft.com/whdc/xps/viewxps.mspx
Dit is een printer driver en vervangt dus alle bovenstaande rommel (!).

Hoe te gebruiken

Voila... Dat is een hele brok.  Pdf, xps, mdi, ...  Maar dan heb je natuurlijk enkel (virtuele) printers.
Dan moet je in VBA de code hebben om zo'n printer aan te sturen, maar dat lijkt niet zo moeilijk te zijn.  Ik heb net dit (http://www.vbaexpress.com/forum/archive/index.php/t-4205.html) gevonden voor excel, maar ik vermoed dat het in Access niet veel anders zal zijn?

Sub Macro1()
Application.ActivePrinter = "Microsoft Office Document Image Writer on Ne01:"
ActiveSheet.PrintOut PrToFileName:="C:\Atest1.mdi"
End Sub 
Volgens mij werkt dit soort code met ongeveer ELKE virtuele printer die hierboven is beschreven.
Als je het mij zou vragen, probeer MDI en XPS zeker eens uit!  Het klinkt niet zo sexy als PDF, maar het is ook de moeite waard volgens mij.  En zoals gezegd, dat gaat voor elke virtuele printer werken...  

Zo ... Ik hoop dat je er iets mee bent.

Who.I.am

Certified Umbraco, .net and Azure developer, seo lover. Magician in my spare time.

Month List