sas输出到pdf而不覆盖它

sas output to pdf without overwriting it

我想将一些图输出到现有的 pdf(4 页)中。我需要在第 5 页中添加这些图(全部在同一页中)。

ods pdf file="\path\Ex..pdf" startpage=no;

proc sgplot 

ods pdf close;

通常我使用上面的代码创建 pdf。但它会删除以前的内容,然后创建新内容。

SAS 目前无法附加到创建的 PDF。如果其他 PDF 是在 SAS 中创建的,则可以使用 proc 文档重新组织输出以创建单个 PDF 文件。

您可以使用 Adob​​e Professional 或其他 PDF 应用程序附加 PDF。如果这需要自动化,可以创建 VB 脚本并从 SAS 中 运行,但仍然需要 Adob​​e Professional 或其他 PDF 应用程序并在外部调用。

编辑: 最简单的方法是更改​​ ODS CLOSE 所在的位置,以便立即写入 PDF。

第二种是将每个 table 包装在 ODS 文档语句中以创建一个文档对象,然后在稍后重播它,将所有 table 聚合到同一位置。

代码来自这里: http://support.sas.com/kb/35/375.html

/* Use a LIBNAME statement or directory appropriate for your SAS session */
libname docs "c:\temp";

/* Route the PROC REPORT table to a document item store named FIRST in the DOCS library */
ods document name=docs.first;
proc report nowd data=sashelp.class(obs=10);
   title "first";
run;

/* Close the document itemstore */
ods document close;

/* Create a new document item store in which to save the second PROC REPORT table.
   This ODS DOCUMENT NAME= / ODS DOCUMENT CLOSE logic can be included in
   the original SAS session or a separate SAS session. */
ods document name=docs.second;

proc report nowd data=sashelp.vtable(obs=20);
   title "Second";
   column libname memname nobs nvar crdate;
run;

ods document close;

ods document name=docs.third;

proc report nowd data=sashelp.class;
   title "Third";
run;

ods document close;

/* In the same SAS session or a new SAS session, combine the results 
   of the three document item stores with PROC DOCUMENT.  */
libname docs "c:\temp";
ods pdf file="combined_2.pdf";

proc document name=docs.first;
   replay;
run;
quit;

proc document name=docs.second;
   replay;
run;
quit;

proc document name=docs.third;
   replay;
run;
quit;

ods pdf close;