如何保存一个MS Access报告为PDF / A(归档版PDF的ISO 19005)

问题描述 投票:0回答:1

我的客户问我输出MS-Access报表为PDF / A(PDF ISO 19005的存档版本)。我发现一个旧线从2008年,说这是可以做到这一点的Word,Excel,PPT,出版商时,Visio和InfoPath,但无法访问。我希望有人将有一个新的更新,这是现在可能。

目前,我的代码是

 'output report to pdf
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strPDF, False, , , acExportQualityPrint

它完美地工作创造正常的PDF文件。

ms-access pdf access-vba
1个回答
0
投票

这是一个长镜头,这不是优雅,但也许能为你工作:

导出报表作为常规的PDF文件,然后通过文字自动化,打开该文件,并将其导出为PDF / A。

不知怎的,格式是在这个过程中那种搞砸了,所以它保持在最低限度的访问报告。

Sub ExportPDF_A()

    ' Set references in VBA IDE to MS Word before executing this code

    ' Declare object variables
    Dim wordApp As New Word.Application
    Dim wordDoc As Word.Document

    ' Declare other variables
    Dim strReportName As String
    Dim strPDF As String

    ' Customize variables
    strReportName = "TableReport"
    strPDF = "E:\Temp\pdfreport.pdf"

    'output report to pdf
    DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strPDF, False, , , acExportQualityPrint

    ' Temporary set word visible (because there are some confirmation in the next step)
    wordApp.Visible = True

    ' Here are some additional confirmations that you'd have to figure out how to overcome them
    Set wordDoc = wordApp.Documents.Open(FileName:=strPDF, Format:="PDF Files", ConfirmConversions:=False)

    ' Export to the desired format
    wordDoc.ExportAsFixedFormat OutputFileName:="E:\Temp\pdfreportPDFA.pdf", ExportFormat:=WdExportFormat.wdExportFormatPDF, OpenAfterExport:=True, UseISO19005_1:=True


End Sub

我没有花很多时间对其进行编码,所以如果这个作品,让我知道,我可以把它擦亮。

© www.soinside.com 2019 - 2024. All rights reserved.