Assembler サービスの使用

このサービスを使用するプロセスの開発について詳しくは、Workbench ヘルプを参照してください。プログラムでこのサービスをインタラクティブに操作するクライアントアプリケーションの開発について詳しくは、『Programming with LiveCycle』を参照してください。

PDF ドキュメントのアセンブリ

Assembler サービスを使用すると、複数の PDF ドキュメントを 1 つの PDF ドキュメントまたは PDF ポートフォリオにアセンブリできます。また、ナビゲーション支援機能やセキュリティ強化機能を PDF ドキュメントに適用することもできます。PDF ドキュメントをアセンブリする方法には、次のようなものがあります。

単一 PDF ドキュメントのアセンブリ

次の図は、3 つのソースドキュメントを 1 つの結果ドキュメントに統合する場合の様子を示しています。

以下に、このドキュメントのアセンブリに使用される簡単な DDX ドキュメントの例を示します。この例では、結果ドキュメントの名前と共に、結果ドキュメントの生成に使用するソースドキュメントの名前も指定しています。

<PDF result="Doc4"> 
    <PDF source="Doc1"/> 
    <PDF source="Doc2"/> 
    <PDF source="Doc3"/> 
</PDF>

ドキュメントのアセンブリは、以下のコンテンツと特性を備えた結果ドキュメントを生成します。

  • 各ソースドキュメントのすべてまたは一部。

  • アセンブリによる結果ドキュメントに対して正規化される、各ソースドキュメントのしおりのすべてまたは一部。

  • メタデータ、ページラベル、ページサイズなどのベースドキュメント(Doc1)から採用したその他の特性。

  • オプションで、結果ドキュメントに結果内のしおりから構築される目次を含めることができます。

PDF ポートフォリオの作成

Assembler サービスでは、複数のドキュメントおよび独立したユーザーインターフェイスを含む PDF ポートフォリオを作成できます。このインターフェイスは、PDF ポートフォリオレイアウトまたは PDF ポートフォリオナビゲーター(ナビゲーター)と呼ばれています。PDF ポートフォリオは、ナビゲーター、フォルダー、ようこそページを追加することによって、PDF パッケージの機能を拡張します。このインターフェイスでは、ローカライズされたテキスト文字列、カスタムカラースキーム、およびグラフィックリソースを利用して、ユーザーエクスペリエンスを向上させることができます。PDF ポートフォリオには、ポートフォリオ内のファイルを整理するためのフォルダーも含まれています。

Assembler サービスによって以下の DDX ドキュメントが解釈されると、2 つのファイルの PDF ポートフォリオナビゲーターとパッケージで構成される PDF ポートフォリオがアセンブリされます。ナビゲーターは、myNavigator ソースで指定された場所から取得されます。ナビゲータのデフォルトカラースキームは、pinkScheme カラースキームに変更されます。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <PDF result="Untitled 1"> 
       <Portfolio> 
         <Navigator source="myNavigator"/> 
         <ColorScheme scheme="pinkScheme"/> 
       </Portfolio> 
       <PackageFiles> 
         <PDF source="sourcePDF1"/> 
         <PDF source="sourcePDF2"/> 
       </PackageFiles> 
     </PDF> 
</DDX>

暗号化ドキュメントのアセンブリ

ドキュメントをアセンブリするとき、パスワードを使用して PDF ドキュメントを暗号化することもできます。PDF ドキュメントがパスワードを使用して暗号化されている場合、Adobe Reader または Acrobat で PDF ドキュメントを表示するには、パスワードを指定する必要があります。パスワードを使用して PDF ドキュメントを暗号化するには、PDF ドキュメントの暗号化に必要な暗号化要素の値を DDX ドキュメントに含める必要があります。

PDF ドキュメントをパスワードを使用して暗号化するために、LiveCycle のインストールに Encryption サービスを含める必要はありません。

1 つ以上の入力ドキュメントが暗号化されている場合、ドキュメントを開くためのパスワードを DDX の一部として指定する必要があります。

ベイツナンバリングを使用したドキュメントのアセンブリ

ドキュメントをアセンブリする場合、ベイツナンバリングを使用して各ページに一意のページ識別子を適用することができます。ベイツナンバリングを使用すると、ドキュメント(またはドキュメントセット)内の各ページに、ページを一意に識別する数字が割り当てられます。例えば、原材料情報を含む、1 つの組立部品の製造に関する生産ドキュメントに、1 つの識別子が割り当てられます。ベイツナンバリングの数値は連続した増分値で、オプションでプレフィックスやサフィックスが付きます。「プレフィックス + 数値 + サフィックス」の形式は、ベイツパターンと呼ばれます。

次の例は、ドキュメントのヘッダに一意の識別子を含む PDF ドキュメントを示しています。

ドキュメントの統合およびアセンブリ

Assembler サービスを使用して、インタラクティブ PDF ドキュメント(フォームなど)を非インタラクティブ PDF(PDF ドキュメント)に変換できます。インタラクティブ PDF ドキュメントでは、ユーザーは PDF ドキュメントフィールドにデータを入力したり、このフィールドのデータを変更したりできます。インタラクティブ PDF ドキュメントを非インタラクティブ PDF ドキュメントに変換するプロセスは「統合」と呼ばれます。PDF ドキュメントを統合すると、フォームフィールドのグラフィック表示は残されますが、インタラクティブではなくなります。PDF ドキュメントを統合する理由の 1 つは、データを変更できないようにすることです。また、フィールドに関連付けられたスクリプトも動作しなくなります。

インタラクティブ PDF ドキュメントからアセンブリして PDF を作成する場合に、Assembler サービスはこれらのフォームを統合してから結果ドキュメントにアセンブリします。

注意: Assembler サービスは、Output サービスを使用して動的 XFA フォームを統合します。XFA 動的フォームの統合を要求する DDX を Assembler サービスが処理する場合に Output サービスを使用できないと、例外が発生します。Acrobat フォームまたは静的 XFA フォームの統合については、Assembler サービスでは、Output サービスを使用せずに実行できます。

XDP ドキュメントのアセンブリ

Assembler サービスを使用すると、複数の XDP ドキュメントを 1 つの XDP または PDF ドキュメントにアセンブリできます。ソース XDP ファイルに挿入ポイントがある場合は、フラグメントを挿入する位置を指定できます。

XDP ドキュメントをアセンブリする方法には、次のようなものがあります。

単一の XDP ドキュメントのアセンブリ

次の図は、3 つの XDP ソースドキュメントを 1 つの結果 XDP ドキュメントにアセンブリする場合の様子を示しています。結果 XDP ドキュメントには、3 つのソース XDP ドキュメントと関連データが含まれます。結果ドキュメントには、ベースドキュメント(最初のソース XDP ドキュメント)から基本属性が受け継がれます。

上記の結果ドキュメントを生成する DDX ドキュメントを次に示します。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <XDP result="MyXDPResult"> 
       <XDP source="sourceXDP1"/> 
       <XDP source="sourceXDP2"/> 
       <XDP source="sourceXDP3"/> 
     </XDP> 
</DDX>

アセンブリ時における参照の解決

通常、XDP ドキュメントには、絶対参照または相対参照によって参照した画像を含めることができます。Assembler サービスは、デフォルトで結果の XDP ドキュメント内の画像参照を保持します。

ソース XDP ドキュメント内の参照画像は、Assembler サービスでのアセンブル時に XDP ファイル内で絶対参照として扱うか、相対参照として扱うかを指定できます。また、すべての画像を結果ドキュメント内に埋め込むことで、相対参照も絶対参照も含まない結果ドキュメントを生成できます。この動作を設定するには、次のオプションのいずれかを resolveAssets タグの値として指定します。デフォルトでは、結果ドキュメント内の参照は解決されません。

説明

none

参照の解決を一切行いません。

all

ソース XDP ドキュメント内で参照されているすべての画像を埋め込みます。

relative

ソース XDP ドキュメント内で相対参照されているすべての画像を埋め込みます。

absolute

ソース XDP ドキュメントで絶対参照を介して参照されているすべての画像が埋め込まれます。

resolveAssets 属性の値は、XDP ソースタグまたは親の XDP 結果タグで指定できます。XDP 結果タグで指定した場合、属性は、その XDP 結果タグの子であるすべての XDP ソース要素に継承されます。ただし、ソース要素に対して明示的にこの属性を指定すると、該当するソースドキュメントについては結果要素での指定が無視されます。

XDP ドキュメント内のすべてのソース参照を解決する

ソース XDP ドキュメント内のすべての参照を解決するには、次の例のように、結果ドキュメントに対する resolveAssets 属性の値として all を指定します。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="all"> 
        <XDP source="input1.xdp" />     
        <XDP source="input2.xdp" /> 
        <XDP source="input3.xdp" /> 
    </XDP> 
</DDX>

また、この属性をすべてのソース XDP ドキュメントそれぞれに対して指定した場合も同じ結果になります。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp"> 
        <XDP source="input1.xdp" resolveAssets="all"/> 
        <XDP source="input2.xdp" resolveAssets="all"/> 
        <XDP source="input3.xdp" resolveAssets="all"/> 
    </XDP> 
</DDX>

XDP ドキュメント内の特定のソース参照を解決する

特定のソース参照を選択して解決するには、目的のソースドキュメントに対して resolveAssets 属性を指定します。個々のソースドキュメントに対して指定した属性は、結果 XDP ドキュメントの設定よりも優先されます。この例では、含まれているフラグメントも解決されます。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="all"> 
        <XDP source="input1.xdp" > 
            <XDPContent source="fragment.xdp" insertionPoint="MyInsertionPoint" 
            fragment="myFragment"/> 
        </XDP> 
        <XDP source="input2.xdp" /> 
    </XDP> 
</DDX>

絶対参照または相対参照を選択して解決する

次の例のように、一部またはすべてのソースドキュメントに含まれる絶対参照または相対参照を選択して解決することができます。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <XDP result="result.xdp" resolveAssets="absolute"> 
        <XDP source="input1.xdp" /> 
        <XDP source="input2.xdp" /> 
    </XDP> 
</DDX>

フォームフラグメントの XFA フォームへの動的な挿入

Assembler サービスを使用して、フラグメントが挿入される別の XFA フォームから XFA フォームを作成できます。この機能を使うと、フラグメントを使用して複数のフォームを作成できます。

フォームフラグメントの動的挿入機能は、ソース管理の一元化をサポートします。共通して使用されるコンポーネントのソースを 1 つに維持できます。例えば、自社のシンボルマークを表すフラグメントを作成したとします。マークを変更した場合、変更が必要なのはこのフラグメントだけです。フラグメントを含むフォームは変更不要です。

フォームデザイナーは、LiveCycle Designer を使用してフォームフラグメントを作成します。このようなフラグメントは、XFA フォーム内では一意の名前を持つサブフォームとなります。また、一意の名前を持つ挿入ポイントを含んだ XFA フォームを作成する場合も、Designer を使用します。プログラマーは、XFA フォームへのフラグメントの挿入する方法を指定する DDX ドキュメントを作成します。

次の図に、2 つの XML フォーム(XFA テンプレート)を示します。左側のフォームには、myInsertionPoint という挿入ポイントがあります。右側のフォームには、myFragment というフラグメントがあります。

Assembler サービスによって以下の DDX ドキュメントが解釈されると、別の XML フォームを含む XML フォームが作成されます。myFragmentSource ドキュメントの myFragment サブフォームが、myFormSource ドキュメント内の myInsertionPoint の位置に挿入されます。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <XDP result="myFormResult"> 
       <XDP source="myFormSource"> 
        <XDPContent fragment="myFragment" insertionPoint="myInsertionPoint" 
        source="myFragmentSource"/> 
       </XDP> 
     </XDP> 
</DDX>

XDP ドキュメントの PDF へのパッケージ化

以下の DDX ドキュメントのように、Assembler サービスを使用して、XDP ドキュメントを PDF ドキュメントとしてパッケージ化できます。

<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
     <PDF result="Untitled 1" encryption="passEncProfile1"> 
       <XDP> 
        <XDP source="sourceXDP3"/> 
        <XDP source="sourceXDP4"/> 
       </XDP> 
     </PDF> 
</DDX>

PDF ドキュメントのディスアセンブリ

Assembler サービスを使用して PDF ドキュメントをディスアセンブリできます。また、ソースドキュメントからページを抽出したり、しおりの位置を境にソースドキュメントを分割することもできます。このタスクは、一般的に、PDF ドキュメントが最初に多数の個別ドキュメント(明細書一式など)から作成された場合に役立ちます。

ソースドキュメントからのページの抽出

次の図で、ページ 1 ~ 3 は、ソースドキュメントから抽出されて、新しい結果ドキュメントに配置されています。

次に、このドキュメントのディスアセンブリに使用される DDX ドキュメントの例を示します。

<PDF result="Doc4"> 
    <PDF source="Doc2" pages="1-3"/> 
</PDF>

しおりに基づいたソースドキュメントの分割

次の図は、DocA を複数の結果ドキュメントに分割する例です。ページで最初に表示されるレベル 1 のしおりが、新しい結果ドキュメントの開始位置を示します。

次に、しおりを使用してソースドキュメントをディスアセンブリする DDX ドキュメントの例を示します。

<PDFsFromBookmarks prefix="A"> 
    <PDF source="DocA"/> 
</PDFsFromBookmarks>

ドキュメントが PDF/A に準拠しているかどうかの検証

Assembler サービスを使用すると、PDF ドキュメントが PDF/A に準拠しているかどうかを検証することができます。PDF/A は、ドキュメントのコンテンツを長期間保存するためのアーカイブ形式です。フォントはドキュメント内に埋め込まれ、ファイルは圧縮されません。その結果、通常、PDF/A ドキュメントは標準の PDF ドキュメントよりも大きくなります。また、PDF/A ドキュメントには、オーディオおよびビデオコンテンツは含まれません。

PDF ドキュメントに関する情報の取得

Assembler サービスを使用して、次の PDF 情報を取得できます。

  • テキスト情報

    • ドキュメントの各ページに含まれる単語

    • ドキュメントの各ページにおける各単語の位置

    • ドキュメントの各ページの各段落に含まれる文章

  • しおりに関する情報(ページ番号、タイトル、設定先、外観など)。任意の PDF ドキュメントからこのデータを書き出し、別の PDF ドキュメントに読み込むことができます。

  • 添付ファイル情報(ファイル情報を含む)。ページレベルの添付ファイルの場合は、添付ファイル注釈の場所もこの情報に含まれます。任意の PDF ドキュメントからこのデータを書き出し、別の PDF ドキュメントに読み込むことができます。

  • パッケージファイル情報(ファイル情報、フォルダー、パッケージ、スキーマ、フィールドデータなど)。任意の PDF ドキュメントからこのデータを書き出し、別の PDF ドキュメントに読み込むことができます。

DDX ドキュメントの検証

Assembler サービスを使用すると、DDX ドキュメントが有効かどうかを検証できます。例えば、LiveCycle を以前のバージョンからアップグレードした後に検証を実行すると、DDX ドキュメントが有効であることを確認できます。

他のサービスの呼び出し

DDX ドキュメントを使用して、Assembler サービスで次の LiveCycle サービスを呼び出すことができます。Assembler サービスが呼び出せるのは、LiveCycle と一緒にインストールされる次のサービスだけです。

Reader Extensions サービス:
Adobe Reader ユーザーは、結果 PDF ドキュメントに電子署名を行うことができます。

Forms サービス:
XDP ファイルと XML データファイルを統合して、データを埋め込んだインタラクティブフォームを含む PDF ドキュメントを作成することができます。

Output サービス:
動的な XML フォームを、非インタラクティブフォームを含む PDF ドキュメントに変換(フォームを統合)します。Assembler サービスでは、静的な XML フォームと Acrobat フォームを統合する際に Output サービスを呼び出しません。

DocConverter サービス:
PDF ドキュメントを PDF/A ドキュメントに変換します。

Generate PDF サービス:
ネイティブファイル形式を PDF に変換します。ネイティブファイル形式には、Word、Excel、HTML などがあります。

Distiller サービス:
PostScript ドキュメントを PDF ドキュメントに変換します。

DDX ドキュメントによって、結果 PDF ドキュメントの特性が記述されます。DDX ファイルは、LiveCycle で使用できるサービスに対して、明示的な呼び出しを行いません。Assembler サービスは、特定の DDX 要素を解釈すると、DDX ドキュメントで指定された結果を達成するために他の サービスを呼び出すかどうかを判断します。例えば、PDF 以外のファイルを指定する PDF ソースファイルを解釈する場合、Assembler サービスは Generate PDF サービスを呼び出して、このソースファイルを PDF に変換します。また、XML フォーム(XFA フォーム)を含む PDF ソースファイルおよび別個に存在する XML フォームデータを解釈する場合は、Forms サービスを呼び出してデータを XML フォームに統合します。

次の DDX の例では、2 つの PDF ドキュメントを統合し、統合後の PDF ドキュメントに Adobe Reader ユーザーが電子署名することを許可します。Adobe Reader の使用権限は、PDF 結果要素内の ReaderRights 要素によって付与されます。

<?xml version="1.0" encoding="UTF-8"?> 
<DDX xmlns="http://ns.adobe.com/DDX/1.0/"> 
    <PDF result="outDoc"> 
        <PDF source="doc1"/> 
        <PDF source="doc2"/> 
        <ReaderRights 
            credentialAlias="LCESCred" 
            digitalSignatures="true"/> 
    </PDF> 
</DDX>

DDX と Assembler サービスを使用して他の LiveCycle サービスを呼び出すことによって、プロセスダイアグラムが単純化され、ワークフローをカスタマイズする手間を減らすことができます(『Assembler Service and DDX Reference』も参照してください)。

Assembler IVS を使用した DDX ドキュメントの検証

Assembler IVS(Assembler Installation and Verification Sample)は、 Workbench プロセスを変更することなく DDX ドキュメントを検証するためのサンプルアプリケーションです。Assembler IVS に用意されているエディターを使用すると、DDX ドキュメントを(XML 形式で)作成および編集し、DDX ドキュメントに記述された結果のプレビューを作成することができます。また、Assembler IVS には、DDX に関する次のような概念を説明するための例が含まれています。

  • ドキュメントのアセンブリ

  • ブックマークおよびページでのドキュメントのディスアセンブリ

  • PDF パッケージの作成

  • PDF ドキュメントからのメタデータまたはコンテンツの取得

Assembler IVS は、Assembler サービスの Invoke DDX サービスを使用します。

注意: DDX ドキュメントを作成およびテストする方法としては、Workbench の Document Builder パースペクティブを使用する方法のほうが適しています。Document Builder は、DDX ドキュメントの作成を直感的に行うことができるユーザーインターフェイスを備えており、XML を直接操作することなく DDX ドキュメントを作成および検証できます。

Assembler IVS は、使用する前にデプロイする必要があります。Assembler IVS のデプロイは、管理者が Configuration Manager を使用して行うか、または手動で行います(LiveCycle ドキュメントのページで、お使いのアプリケーションサーバーに固有のインストールドキュメントを参照してください)。

Assembler IVS アプリケーションを開始するには、http://[server_name:port_number]/Assembler に移動します。

DDX ドキュメントの一般的な検証手順は次のとおりです。

  1. 検証する DDX ドキュメントをコピーして、大きなウィンドウに貼り付けます。または、ウィンドウの上部にある「DDX」または「Demo」をクリックして、検証に使用可能な DDX ドキュメントの 1 つを選択します。

  2. Collateral パネルの上部にあるプラス記号(+)ボタンをクリックして、入力ファイルを指定します。インターフェイスに、ファイルの検索フィールドが表示されます。コラテラルとして使用するファイルを追加するたびに、このボタンをクリックします。

  3. Input Map パネルの上部にあるプラス記号(+)ボタンをクリックして、入力マップを指定します。必要に応じて、DDX ドキュメントのソース名と一致するように、マップエントリの名前を編集します。ドキュメントマップにエントリを追加するたびに、このボタンをクリックします。

  4. 入力ファイルをマップエントリの 1 つにドラッグして、ファイルを入力マップエントリと関連付けます。1 つのサンプル入力ファイルを複数の入力マップエントリに割り当てることができます。また、複数の入力ファイルを 1 つの入力マップエントリに割り当てることもできます。

  5. 「Invoke」をクリックして、Assembler IVS を呼び出します。

Assembler IVS による PDF ドキュメントの作成が成功すると、新しいブラウザーウィンドウが開き、作成された PDF ドキュメントが表示されます。失敗した場合は、エラーメッセージが表示されます。