2016-05-30 9 views
1

現在、私は適切なブックマークと目次を備えた素敵なpdfを作成することに失敗しています。SAS ODS PDFの正しいリンク

1ページ(タイトルページ、縦向き)

2ページ(目次、縦向き)

ページ3:

理想的には、私はこのようになりますPDF文書を持つようにしたいですさらに(下位カテゴリーのすべてのテーブル、横向き)

私の基本的なアプローチはこれです:

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; 
すべてこれにより

が、私はいくつかの問題に遭遇セットアップ:私は、テーブル・タイトルへのリンクを持っているしたいのですが、PDFのしおりと目次に関する

  1. を(例えば、ブックマークにレベル1、表題レベル2になるはずですが、 "ods pdf anchor"は次のようになります。次の手順 "ods pdf text" - ではなく、次の手順だけを見てください(これは私が好むでしょう)。これを簡単な方法で達成する方法はありますか?
  2. ハイパーリンクとブックマークをクリックすると、完全に混乱します。カラム名が切り捨てられて(上にスクロールして見なければならない)、表3と表4のハイパーリンクが私を別の宛先に導きます対応ブックマーク。
  3. 何らかの理由で、表1からタイトルまでの距離が他のすべての表よりも小さい。

これはおそらく、出力配信システムに慣れていないことが原因ですが、私はこれらの一見単純な問題で数時間苦労しています。うまくいけば誰かが私をそこに助けることができます。

+0

そこに何のアイデア?作成したPDFファイルを[link](https://www.docdroid.net/E7Kja3c/test.pdf.html)にアップロードしました。 これは多分、私が言っていることを少しはっきりさせています。 – SASquatsch

答えて

1

多くの試行錯誤の末、私は最終的に私のために働く方法を見つけました。それが比較的長いように私は、全体の解決策を投稿しませんが、要約すると、私は次のようでした:

  1. すべてそこにデータセットを望んでいたODS文書とのprocプリントを使用します。

  2. 新しいodsドキュメントを作成し、前のドキュメントのすべての出力をここに入れると、私を喜ばせるディレクトリ構造になります。これにより、以前に必要だったブックマーク構造が有効になります。私はobpageですべてのページネーションを削除し、obbnoteでテーブルタイトルを追加し、setlabelで正しいブックマークの名前を付けました。なんらかの理由で、私は各表のタイトルの前に2〜3桁の改行を挿入する必要がありました。この方法で私のリンクはこれまでと変わらない。

  3. ods pdfとprocドキュメントを使用してpdfを作成します。ここで私は、以前のように、目次を作成したが、一つの小さな変化に:この代わりの

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

私はしませんでした。この方法:

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

私はこれを使用しました私に欠陥のように見えるods pdf anchor - 文を使用しなければなりません(目次の間違ったリンク)。

まだサブカテゴリを直接タイトルにリンクすることはできませんが、次の表にはリンクできません。しかし、私はそれで問題ないので、私はさらに試してみません。

誰もが結果に興味がある場合は、ここでは来ない:link

関連する問題