我想将一些图表输出到现有的pdf(4页)。我需要在第5页添加这些图(全部在同一页面中)。
ods pdf file="\\path\Ex..pdf" startpage=no;
proc sgplot
ods pdf close;
通常我使用上面的代码创建pdf。但它会删除以前的内容然后创建新的东西。
答案 0 :(得分:1)
SAS无法附加到当前创建的PDF。如果在SAS中创建了其他PDF,则可以使用proc文档重新组织输出以创建单个PDF文件。
您可以使用Adobe Professional或其他PDF应用程序附加PDF文件。如果需要自动化,则可以在SAS中创建和运行VB脚本,但仍需要Adobe Professional或其他PDF应用程序并在外部调用。
编辑: 最简单的方法是更改ODS CLOSE所在的位置,以便立即写入PDF。
第二种方法是将每个表包装在ODS文档语句中以创建文档对象,然后在稍后重放它,聚合同一位置的所有表。
此处的代码: 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;