Ms access Access 2007输出为不同于打印输出的PDF

Ms access Access 2007输出为不同于打印输出的PDF,ms-access,pdf,printing,Ms Access,Pdf,Printing,使用Access 2007 SP3,我有一个报告。当打印到打印机并在打印预览中时,报告看起来很好。在页边空白范围内,输出正确,没有多余的页面…一切都很好 将同一报告输出到PDF时,报告将显示为缩放,内容将被剪裁。没有额外的页面被打印,好像我已经超出了页边空白。以下是我正在使用的代码: DoCmd.OpenReport rptName, acViewPreview DoCmd.OutputTo acOutputReport, "", acFormatPDF, PDFFileName, False

使用Access 2007 SP3,我有一个报告。当打印到打印机并在打印预览中时,报告看起来很好。在页边空白范围内,输出正确,没有多余的页面…一切都很好

将同一报告输出到PDF时,报告将显示为缩放,内容将被剪裁。没有额外的页面被打印,好像我已经超出了页边空白。以下是我正在使用的代码:

DoCmd.OpenReport rptName, acViewPreview
DoCmd.OutputTo acOutputReport, "", acFormatPDF, PDFFileName, False
DoCmd.Close acReport, rptName
报告首先以预览模式打开,因此页面事件将根据提供报告的记录集中的字段显示/隐藏对象

我在OutputTo调用中尝试了屏幕质量和打印质量参数,得到了相同的结果。此外,即使我在一行上调用outputtoall,并且事件没有触发,报告仍然被缩放/剪裁,它只是没有隐藏所有额外的对象

我在两台不同的机器上试过,一台运行Windows7,另一台运行WindowsServer2008


即使在输出线上设置断点,预览看起来也很好……结果PDF文件看起来不太正确。

我能想到的只有:

尝试直接保存报告,不要先打开它,因此只需将
DoCmd
的三行替换为一行即可:

   DoCmd.OutputTo acOutputReport, rptName, acFormatPDF, PDFFileName, False
还要确保您的报告适合页面,并且其属性允许对其进行重新缩放。
例如,以下是我用于报告的设置,我使用与上面相同的
DoCmd.OutputTo
直接保存到PDF


我遇到了同样的问题,但这是随机的。如果我重新启动电脑,通常会自动更正,但上次没有;仍在缩放/剪裁文档。果然,我发现“适合页面”属性设置为“否”。更改为“是”,并修复了问题。我仍然不知道为什么有时候它会起作用,而其他时候却不起作用。

当你长时间盯着某样东西看的时候,很容易错过一些小东西。在我的报告中,“适合页面”设置为“否”。改变这一点解决了我的问题。看起来很明显…现在。