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 文件。
您可以使用 Adobe Professional 或其他 PDF 应用程序附加 PDF。如果这需要自动化,可以创建 VB 脚本并从 SAS 中 运行,但仍然需要 Adobe 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;
我想将一些图输出到现有的 pdf(4 页)中。我需要在第 5 页中添加这些图(全部在同一页中)。
ods pdf file="\path\Ex..pdf" startpage=no;
proc sgplot
ods pdf close;
通常我使用上面的代码创建 pdf。但它会删除以前的内容,然后创建新内容。
SAS 目前无法附加到创建的 PDF。如果其他 PDF 是在 SAS 中创建的,则可以使用 proc 文档重新组织输出以创建单个 PDF 文件。
您可以使用 Adobe Professional 或其他 PDF 应用程序附加 PDF。如果这需要自动化,可以创建 VB 脚本并从 SAS 中 运行,但仍然需要 Adobe 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;