Exporting Reports in PDF/A format

A

asmenend

Hello All,

I currently wrote VBA code to export an access report into a .pdf file,
however I need these reports to default in a PDF/A format, and we're trying
to avoid using a third party application if possible. It seems that with
other office applications you can do this through the ExportAsFixedFormat
method where you can set the ISO 19005-1 to True, however I can't seem to
find any examples of how to do this in access.

Can anybody here help me out? Thanks in advance!
 
T

Tony Toews [MVP]

asmenend said:
I currently wrote VBA code to export an access report into a .pdf file,
however I need these reports to default in a PDF/A format, and we're trying
to avoid using a third party application if possible. It seems that with
other office applications you can do this through the ExportAsFixedFormat
method where you can set the ISO 19005-1 to True, however I can't seem to
find any examples of how to do this in access.

What version of Access? According to
http://en.wikipedia.org/wiki/PDF/A Office 2007 and the free Save as
PDF Plugin does indeed support this feature.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
A

asmenend

Thanks for the reply,

I'm working with access 2007. The thing is, we know that it is supported and
we even know how to do it manually. When you go to publish a report, you
click on options, and at the bottom there is a check box that, by default, is
not clicked. When you click the checkbox, it converts it to PDF/A format.

What we are trying to do with the vba code is to eliminate this manual
process and output the report from access to a pdf format, and somehow have
it already exported in PDF/A format.

We've found that with visio and other office applications you can do this
with the ExportAsFixedFormat method, where one of the criteria allows you to
enter "true" to check this PDF/A format (UseISO19005_1). We found it here:
http://msdn.microsoft.com/en-us/library/ms409271.aspx . Unfortunately, we
can't find this same thing for access. It seems like it's possible, but we're
spinning our wheels trying to figure it out.

Thanks again for the help
 
T

Tony Toews [MVP]

asmenend said:
I'm working with access 2007. The thing is, we know that it is supported and
we even know how to do it manually. When you go to publish a report, you
click on options, and at the bottom there is a check box that, by default, is
not clicked. When you click the checkbox, it converts it to PDF/A format.

What we are trying to do with the vba code is to eliminate this manual
process and output the report from access to a pdf format, and somehow have
it already exported in PDF/A format.

We've found that with visio and other office applications you can do this
with the ExportAsFixedFormat method, where one of the criteria allows you to
enter "true" to check this PDF/A format (UseISO19005_1). We found it here:
http://msdn.microsoft.com/en-us/library/ms409271.aspx . Unfortunately, we
can't find this same thing for access. It seems like it's possible, but we're
spinning our wheels trying to figure it out.

I see what you mean. You've definitely done your research on this
one as I see where Word, Excel, PPT, Publisher, Visio and Infopath
support this but Access does not.

I have no idea then.

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
T

Tony Toews [MVP]

From a John Mishefske, fellow Access MVP

Interesting problem; didn't know about this but makes sense. Not much
I can contribute other than some links that may help:

Bit more info:
http://www.pdfa.org/doku.php

http://forum.epdf.com/files/epdf_whitepaper_create_pdfa_from_pdf_en.pdf

COTS products - Poster wanted to avoid but may not be an alternative.
I have no experience with them:

http://www.actino.com/pluginsh_int/callas_pdfapilot_int.htm
http://www.filedudes.com/Print2PDF-screenshot-21304.html

http://www.pdflib.com/developer/pdfa/?gclid=CJOZj6j3nZQCFQOaFQodoAIQuA

http://big.faceless.org/products/pdf/?refer=google&gclid=CN_e7qj3nZQCFQKcFQodNFUdtw
(Java but might have some useful info??)

When you require this type of special feature which appears to require
special skill set to develop to then its going to be hard to find a
quality open source solution.

Why Access doesn't support it I don't know. I did a quick check for
any "hidden" properties/methods but didn't discover anything. But that
doesn't mean much.

I thought perhaps there is a .Net library solution; didn't happen on
any.

I guess if it was my project I'd convince the client to purchase the
Adobe Acrobat Professional product. I'm sure there is a .Net library
solution or COM solution there.

Or maybe there is a Word Automation solution to this?

--
'--------------------------
' John Mishefske
' UtterAccess Editor
' Microsoft MVP 2007, 2008
'--------------------------

--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
T

Tony Toews [MVP]

asmenend said:
I currently wrote VBA code to export an access report into a .pdf file,
however I need these reports to default in a PDF/A format, and we're trying
to avoid using a third party application if possible. It seems that with
other office applications you can do this through the ExportAsFixedFormat
method where you can set the ISO 19005-1 to True, however I can't seem to
find any examples of how to do this in access.

I guess it can't be done with Access.
See http://msdn.microsoft.com/en-us/library/aa338206.aspx
As this article describes you can only hook into the export process
(and set output options) if you implement a special Office interface
IMsoDocExporter. But you will only get this interface if calling a
documents ExportAsFixedFormat method. This is supported by Words
document object but not for Access reports.Docmd.OutputTo seems to
wrap this and may internally create a wrapped EMF object supporting
ExportAsFixedFormat.

by Sascha Trowitzsch

Tony
--
Tony Toews, Microsoft Access MVP
Please respond only in the newsgroups so that others can
read the entire thread of messages.
Microsoft Access Links, Hints, Tips & Accounting Systems at
http://www.granite.ab.ca/accsmstr.htm
Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/
 
C

CW

This code was forwarded to me by another guy. It works but the only problem
with it is that you are prompted with the Save As dialog.
Would you happen to know how to get around the manual prompt and force an
automated save to a specified location?
I use Access 2003 and Scansoft PDF Creator instead of the Cute PDF Writer

Private Sub Command11_Click()
Dim defPrinter As String, NewPrinter As Printer
Dim stDocName As String
stDocName = [Report_Name]

'Get the default printer name
defPrinter = Application.Printer.DeviceName

'Create a new printer object
Set NewPrinter = Application.Printers("CutePDF Writer") 'use your printer
name here

'Set the default printer to the new printer
Set Application.Printer = NewPrinter

'Open the report
DoCmd.OpenReport stDocName, acViewNormal 'use your actual report name here

'Close the report
DoCmd.Close acReport, "Rpt_New_Driver_Sheet_V2", acSaveNo 'report name again!

'Reset the printer back to the default printer
Set NewPrinter = Application.Printers(defPrinter)
Set Application.Printer = NewPrinter


End Sub
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top