SAS ODS PDF正确链接

萨克斯

目前,我无法生成带有不错的书签和目录的漂亮pdf文件。

理想情况下,我希望有一个如下所示的pdf文档:

第1页(标题页,纵向)

第2页(目录,纵向)

第3页及以后的内容(子类别中的所有表格,横向)

我的基本方法是:

options orientation=portrait nocenter nodate nonumber;
ods pdf file="C:\xyz.pdf" style=sasweb;
ods escapechar='^';

/* Title page */
    title;
    ods pdf text="^S={just=c} ^20n Document XYZ";
/* ---------- */

/* Table of contents */
    ods pdf startpage=now;
    title "Contents";
    ods pdf text="Classes A & B";
    ods pdf text="^S={URL='#Tab1'}   Table 1: Class A";
    ods pdf text="^S={URL='#Tab2'}   Table 2: Class B";
    ods pdf text="Classes C & D";
    ods pdf text="^S={URL='#Tab3'}   Table 3: Class C";
    ods pdf text="^S={URL='#Tab4'}   Table 4: Class D";
/* ----------------- */

ods pdf startpage=now;  /* Start new page ... */
ods pdf startpage=no;   /* ... and define no pagination */
title;
options orientation=landscape;

/* Table list */
    %macro make_table(in_data=,title=,link=);
        ods pdf anchor="&link";
        ods proclabel="&title";
        ods pdf text="^2n &title";
        proc print data=&in_data contents='' noobs;
        run;
    %mend;
    ods pdf text="Classes A & B";

    /* Table 1 */
    %make_table(in_data=sashelp.class,title=Table 1: Class A,link=Tab1);
    /* Table 2 */
    %make_table(in_data=sashelp.class,title=Table 2: Class B,link=Tab2);
    ods pdf startpage=now;
    ods pdf text="Classes C & D";
    /* Table 3 */
    %make_table(in_data=sashelp.class,title=Table 3: Class C,link=Tab3);
    /* Table 4 */
    %make_table(in_data=sashelp.class,title=Table 4: Class D,link=Tab4);
/* ---------- */
ods pdf close;

通过所有这些设置,我遇到了几个问题:

  1. 关于pdf书签和目录,我想链接到表标题(例如“表1”)和子类别(例如“ A和B类”),在书签中子类别应位于1级和2级的表标题。但是,“ ods pdf锚”语句似乎只寻找下一个过程,而不是下一个“ ods pdf文本”语句(我更喜欢)。有什么方法可以通过简单的方式实现这一目标吗?
  2. 单击超链接和书签对我来说是一团糟:有时列名被截断了(因此我必须向上滚动才能看到它们),表3和表4的超链接将我带到了与相应书签不同的目的地。
  3. 无论出于何种原因,从表1到其标题的距离都小于所有其他表的距离。

这很可能是由于我对输出交付系统的经验不足,但是现在我要为这些看似简单的问题苦苦挣扎数小时。希望有人可以在那里帮助我。

萨克斯

经过大量的反复试验,我终于找到了一种对我有效的方法。我不会发布整个解决方案,因为它比较长,但是总而言之,我做了以下工作:

  1. 使用ods文档并proc将所有需要的数据集打印到该文档中。

  2. 创建了一个新的ods文档,并使用一个令我满意的目录结构将所有来自先前文档的输出移至此处-这将启用我先前想要的书签结构。我删除了所有带有obpage的分页,并通过obbnote添加了表标题,并通过setlabel添加了正确的书签命名。由于某种原因,我还必须在每个表标题之前插入两到三个回车符。这样,我的链接就不会像以前那样陌生了。

  3. 通过使用ods pdf和proc文档创建pdf。在这里,我像以前一样创建了目录,但做了一点改动:

代替这个:

ods pdf text="^S={URL='#Tab1'} ...
ods pdf text="^S={URL='#Tab2'} ...

我用这个:

ods pdf text="^S={URL='#IDX'} ...
ods pdf text="^S={URL='#IDX1'} ...

这样,我不必使用ods pdf锚-声明对我来说似乎是有缺陷的(目录中的链接不正确)。

但是,我仍然不能将子类别直接链接到标题,而只能将其链接到下表。但是,我对此表示满意,因此我不会再尝试了。

如果有人对结果感兴趣,请点击以下链接

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SAS ODS PDF正确链接

来自分类Dev

SAS ODS PDF插入链接

来自分类Dev

在SAS ODS pdf文件中包括语法

来自分类Dev

这张 SAS 笔记说的是什么?ODS PDF(WEB) 打印无输出

来自分类Dev

SAS ODS转义字符宏变量错误

来自分类Dev

更改PROC SQL SELECT语句的SAS ODS内容项

来自分类Dev

SAS ods html生成其他html代码

来自分类Dev

SAS:使用PROC TRANSREG时,ODS不会生成boxcox

来自分类Dev

在SAS上使用sgplot和ODS进行绘图

来自分类Dev

更改PROC SQL SELECT语句的SAS ODS内容项

来自分类Dev

宏在ods中损坏的SAS中的列上循环

来自分类Dev

SAS:使用PROC TRANSREG时,ODS不会生成boxcox

来自分类Dev

SAS ods html生成其他html代码

来自分类Dev

为什么Ods跟踪在SAS Macro中不起作用?

来自分类Dev

SAS:如何从 %DO 循环保存多个 ODS 输出

来自分类Dev

如何使用 ODS Excel 在 SAS 中垂直堆叠表?

来自分类Dev

将HTML锚点嵌入到在SAS中使用ODS HTML创建的标题

来自分类Dev

在SAS proc报告和ODS中创建不同的十进制格式

来自分类Dev

仅具有云访问权限的SAS ODS(适当的数据输出)?

来自分类Dev

带有BY语句的PROC ARIMA中的SAS ODS Sandwich产生奇怪的结果

来自分类Dev

如何使用ODS HTML命令更改Web浏览器选项卡中的“ SAS输出”?

来自分类Dev

SAS如何使用ODS和proc报告为特定行着色

来自分类Dev

将HTML锚点嵌入到在SAS中使用ODS HTML创建的标题

来自分类Dev

读取.ods文件并在浏览器中打开链接

来自分类Dev

将ods更改为txt,ods中的所有列均使用制表符定界符正确分配

来自分类Dev

SAS 9.4 - 在 ODS HTML CLOSE 后重新激活结果查看器但禁止写入 HTML 正文文件

来自分类Dev

SAS中的PDF宏

来自分类Dev

链接来自另一个.ods文件的数据

来自分类Dev

PHPExcel:为.xlsx,.ods和.pdf生成错误的二进制文件

Related 相关文章

  1. 1

    SAS ODS PDF正确链接

  2. 2

    SAS ODS PDF插入链接

  3. 3

    在SAS ODS pdf文件中包括语法

  4. 4

    这张 SAS 笔记说的是什么?ODS PDF(WEB) 打印无输出

  5. 5

    SAS ODS转义字符宏变量错误

  6. 6

    更改PROC SQL SELECT语句的SAS ODS内容项

  7. 7

    SAS ods html生成其他html代码

  8. 8

    SAS:使用PROC TRANSREG时,ODS不会生成boxcox

  9. 9

    在SAS上使用sgplot和ODS进行绘图

  10. 10

    更改PROC SQL SELECT语句的SAS ODS内容项

  11. 11

    宏在ods中损坏的SAS中的列上循环

  12. 12

    SAS:使用PROC TRANSREG时,ODS不会生成boxcox

  13. 13

    SAS ods html生成其他html代码

  14. 14

    为什么Ods跟踪在SAS Macro中不起作用?

  15. 15

    SAS:如何从 %DO 循环保存多个 ODS 输出

  16. 16

    如何使用 ODS Excel 在 SAS 中垂直堆叠表?

  17. 17

    将HTML锚点嵌入到在SAS中使用ODS HTML创建的标题

  18. 18

    在SAS proc报告和ODS中创建不同的十进制格式

  19. 19

    仅具有云访问权限的SAS ODS(适当的数据输出)?

  20. 20

    带有BY语句的PROC ARIMA中的SAS ODS Sandwich产生奇怪的结果

  21. 21

    如何使用ODS HTML命令更改Web浏览器选项卡中的“ SAS输出”?

  22. 22

    SAS如何使用ODS和proc报告为特定行着色

  23. 23

    将HTML锚点嵌入到在SAS中使用ODS HTML创建的标题

  24. 24

    读取.ods文件并在浏览器中打开链接

  25. 25

    将ods更改为txt,ods中的所有列均使用制表符定界符正确分配

  26. 26

    SAS 9.4 - 在 ODS HTML CLOSE 后重新激活结果查看器但禁止写入 HTML 正文文件

  27. 27

    SAS中的PDF宏

  28. 28

    链接来自另一个.ods文件的数据

  29. 29

    PHPExcel:为.xlsx,.ods和.pdf生成错误的二进制文件

热门标签

归档