タグ別アーカイブ: JSON

XSLT 3.0(XPath 3.1)JSONをXMLに変換せずに利用する

先週はXMLの形にしたJSONを、XMLにしないまま扱う方法について紹介します。CSLはでてきません。

XPath 3.1*1で名前にJSONが入る関数は4つです。

  • fn:parse-json($json-text as xs:string?, $options as map(*))
  • fn:json-doc($href as xs:string?, $options as map(*))
  • fn:json-to-xml($json-text as xs:string?, $options as map(*))
  • fn:xml-to-json($input as node()?, $options as map(*))

$optionsについては説明しません。JSONをテキストとして引数にとるのがfn:parse-json()fn:json-to-xml()
fn:json-doc()は外部JSONファイルを読み込むときなどに指定します。fn:unparsed-text()で取得したテキストをfn:parse-json()へ適用するのと
大体同じことを行います。今回取り上げるのはfn:parse-json()fn:json-doc()についてです。

mapとarray

関係する名前空間は次に挙げるものです。

  • fn=”http://www.w3.org/2005/xpath-functions”
  • map=”http://www.w3.org/2005/xpath-functions/map”
  • array=”http://www.w3.org/2005/xpath-functions/array”

XPath 3.1のmap構造とarray構造は一般的なプログラミング言語におけるそれとほぼ同じもので、JSONオブジェクトをそのままの形で格納できます。
先週登場したJSONを見てみましょう。

{
    "items": [
        {
            "id": "7646893/2E3MJB9A",
            "type": "book",
            "title": "スタイルシート開発の基礎",
            "publisher": "アンテナハウス株式会社",
            "publisher-place": "Tokyo",
            "event-place": "Tokyo",
            "ISBN": "978-4-900552-23-4",
            "language": "ja",
            "author": [
                {
                    "family": "アンテナハウス株式会社",
                    "given": ""
                }
            ],
            "issued": {
                "date-parts": [
                    [
                        2016,
                        5
                    ]
                ]
            }
        }
    ]
}

このJSONを外部ファイルとして取り込むには次のように記述します。

<xsl:param name="input" >'exported-data.json'</xsl:param>
...
<xsl:variable as="map(*)" name="jsonMap" select="fn:json-doc($input)"/>
<!-- または -->
<xsl:variable as="xs:string" name="json-text" select="fn:unparsed-text($input)"/>
<xsl:variable as="map(*)" name="jsonMap" select="parse-json($json-text)"/>

XMLに変換した先週と、mapやarrayを活用する今回はこの後がまったく異なります。

次の記述で、先頭のtitleを一息で取得します。

<xsl:value-of select="map:get(array:head(map:get($jsonMap, 'items')), 'title')" />

まず、最も外側のmapから、itemsのキーを持つ要素を取得します(map:get($jsonMap, 'items'))。
キーitemsの値はarray型です。このままmap:get()を行おうとしてもできませんから、arrayの先頭を取り出すarray:head()を使用しています。ところで上の記述はパイプ演算子を使えば次のように書けます。

<xsl:value-of select="map:get($jsonMap, 'items') => array:head() => map:get('title')" />

mapのarrayでは、map:find()を利用することで指定したキーの値を配列で得ることもできます。挙動の詳細はXPath 3.1*1かXSLT 3.0*2のページを確認してください。

typeの値が何種類かに決まっていて、その種類を元にif文の判定をしたいのであれば、次のように書けます。

     <xsl:variable as="map(*)" name="item" select="map:get($jsonMap, 'items') => array:head()" />
      <xsl:if test="map:get($item,  'type') =  'book' or 'proceedings'">
      <xsl:value-of select="map:get($item, 'type')" /> <!-- book -->
      </xsl:if>

もちろんXMLの構造に変換しても同じことはできますが、より一般的なプログラミング言語に近い形で扱えています。

mapやarrayとして扱うために、JSONテキストとして記述してパースしたり、select="map{"key":value}"のような書き方をする以外に、<xsl:map><map-entry>を使うことができます。

mapの操作はエントリの追加やキー指定での削除などの他、map:merge()によるmapの統合、map:for-each()によるmap要素単位での関数適用などが可能です。arrayの方はarray:fold-left()array:fold-right()の畳み込み関数や、array:for-each()でarrayの要素ごとに関数適用などなど、XML形式を扱うよりもすっきりした構文で記述が可能な関数が用意されています。

注意しなければならないこととして、mapであるかarrayであるかを間違えるとうまく値を取り出せません。$itemnodeでもないので、直接xml-to-json()は使えません。

仕様やSaxonのドキュメントとにらめっこをしながら紹介してきたXSLT 3.0とXPath 3.1のJSONの扱いですが、誤りなどありましたらご指摘ください。

*1 https://www.w3.org/TR/xpath-31/
*2 https://www.w3.org/TR/xslt-30/


参考資料



Citation Style Languageの話(2) – 引用データJSONのXML化

前回引用データとスタイルの分離の必要性については述べていたので、CSL自体の歴史を見てみました。

Citation Style Languageの歴史について、
CSLのページ*1によれば、Bruce D’Arcus氏を中心に開発され、初期はZoteroのSimon Kornblith氏
がコントリビュートしていました。近年は Frank G. Bennett, Jr. と Rintze M. Zelleによって開発が主導されています。リンクが張られている2010年9月の外部記事はすでに読めなくなっていて、Blogは1.0のニュースリリース*2からです。

Wikipediaの記事*3にはその前身はBiblioXという取り組みであると記載されているのですが、2020年8月31日現在BiblioXのページは消失しており、辿ることが少し難しいようです。BiblioXの発表は2004年ですので、合わせれば15年以上の歩みとなります。

脱線しますが、URLが失効しあるものの歴史を辿るのが難しいというのは堪えます。Web Archiveなどのプロジェクトにしても、無限、無制限というわけにはいきません。それでも、参照した情報元が分かるよう引用情報を記述することの大事さを噛みしめています。

引用データのJSONをXSLTでXML化する

さて、CSLの引用データを確認してみましょう。Zoteroの出力一覧に「Citation Style Language …」という文字列が見えます。ポチッとな……無事ダウンロードされました。

「export-data.json」が。


{
    "items": [
        {
            "id": "7646893/2E3MJB9A",
            "type": "book",
            "title": "スタイルシート開発の基礎",
            "publisher": "アンテナハウス株式会社",
            "publisher-place": "Tokyo",
            "event-place": "Tokyo",
            "ISBN": "978-4-900552-23-4",
            "language": "ja",
            "author": [
                {
                    "family": "アンテナハウス株式会社",
                    "given": ""
                }
            ],
            "issued": {
                "date-parts": [
                    [
                        2016,
                        5
                    ]
                ]
            }
        }
    ]
}

引用データそのものは文書レイアウトのような複雑な構造を持ちませんし、XML形式である必要はないですからね。とはいえXSLTでこのデータを扱うにはどこかの段階でXMLに変換する必要があります。幸いなことに2020年のXSLTはJSONだって簡単に扱えます。今回はJSONがXSLT3.0で扱えることを示します。

XSLT 3.0 (というよりXPath 3.1)ではmap、arrayという頼もしい機能が用意されていますが、今回は構造に登場するだけです。次のテンプレートでは、外部ファイルであるexport-data.jsonを読み込んでXMLとして表示します。unparsed-text()でテキストファイルとしてJSONを読み込み、読み込んだJSONをjson-to-xml()でXMLにします。


<xsl:param name="input" >export-data.json</xsl:param>     
<xsl:template name="xsl:initial-template">
      <xsl:copy-of select="json-to-xml(unparsed-text($input))"/>
</xsl:template>

結果のXMLを次に示します。

<?xml version="1.0" encoding="UTF-8"?><!--export-data.xml-->
<map xmlns="http://www.w3.org/2005/xpath-functions">
  <array key="items">
    <map>
      <string key="id">7646893/2E3MJB9A</string>
   <string key="type">book</string>
      <string key="title">スタイルシート開発の基礎</string>
      <string key="publisher">アンテナハウス株式会社</string>
      <string key="publisher-place">Tokyo</string>
      <string key="event-place">Tokyo</string>
      <string key="ISBN">978-4-900552-23-4</string>
      <string key="language">ja</string>
      <array key="author">
        <map>
          <string key="family">アンテナハウス株式会社</string>
          <string key="given"/>
        </map>
      </array>
      <map key="issued">
        <array key="date-parts">
          <array>
            <number>2016</number>
            <number>5</number>
          </array>
        </array>
      </map>
    </map>
  </array>
</map>

XML形式で出力せずに扱う方が便利なこともありますが、とりあえず今回のところは得られた引用データのXMLから一部を抜き取ってFOにしてみます。

<xsl:template match="j:string[@key='title']">
    <fo:inline font-family="sans-serif">『<xsl:value-of select="." />』</fo:inline>
</xsl:template>
<xsl:template match="j:map[@key='issued']">
    <xsl:apply-templates select="j:array[@key='date-parts']"/>
</xsl:template>
<xsl:template match="j:array[@key='date-parts']">
<fo:inline><xsl:value-of select="./j:array/j:number[1]" />年</fo:inline>
</xsl:template>
<xsl:template match="j:string[@key !='title']">
</xsl:template>

これをexport-data.xmlに適用します。かなり省略していますが、
export-data.xmlのtitledate-partsから年の値を取り出し、加工して出力できました。

<fo:inline font-family="sans-serif">『スタイルシート開発の基礎』</fo:inline><fo:inline>2016年</fo:inline>

CSLからXSLT、XSL-FOへの完全な変換まで到達予定でしたが、XPath3.1やXSLT3.0の機能を調べだしたら今回の記事に間に合わなくなったため、少し時間を空けて再挑戦したいところです。

*1 https://citationstyles.org/about/
*2 https://citationstyles.org/2010/03/22/citation-style-language-1-0/
*3 https://ja.wikipedia.org/wiki/Citation_Style_Language

関連記事

  1. Citation Style Languageの話(1)

『アウトライナー3』コマンドライン(その2)

『アウトライナー3』が、5月15日にリリースされました。最新バージョンは、製品の64bit化、リンク注釈の編集機能追加、などが行われています。旧バージョンからある、しおりの編集機能、しおり外部ファイルの書き出し、読み込み機能と同じように、リンク注釈も、リンク注釈外部ファイルの書き出し、読み込み機能があります。

アウトライナーはコマンドラインからも実行できます。 製品のインストールフォルダに OutlinerCmd.exe が存在します。これがコマンドライン版の実行ファイルになります。前回はコマンドラインでの[リンク注釈外部ファイルの書き出し]について説明しました。今回は[リンク注釈外部ファイルの読み込み]について説明してみたいと思います。

[リンク注釈外部ファイルの読み込み]

この機能は、入力PDFに、リンク注釈外部ファイルのリンク注釈を設定した後、保存PDFとして出力します。リンク注釈外部ファイルの読み込みで使用する引数は次の通りです。

  • /D
    入力PDFファイルのパスを指定します。
  • /K
    入力PDFにパスワードが設定されている場合、この引数で指定します。
  • /N
    読み込む、リンク注釈外部ファイルのパスを指定します。
    形式には XML, CSV, JSON があり、拡張子で判定します。

    • XML形式の拡張子 “.xml”
    • CSV形式の拡張子 “.csv”
    • JSON形式の拡張子 “.json”
  • /O
    保存PDFファイルのパスを指定します。
    入力PDFに、リンク注釈を設定した状態で、別のPDFファイルとして保存します。
    入力PDFに、既存のリンク注釈があれば、削除した後、リンク注釈を設定します。

呼び出し例は次の通りです。

  • OutlinerCmd.exe /D input.pdf /O output.pdf /N input.xml
    • /D input.pdf : input.pdf を読み込みます。
    • /O output.pdf : リンク注釈を設定した output.pdf を書き出します。
    • /N input.xml : リンク注釈外部ファイルのパスはinput.xmlで、形式は XML です。
  • OutlinerCmd.exe /D input.pdf /K password /O output.pdf /N input.xml
    • /D input.pdf : input.pdf を読み込みます。
    • /K password : input.pdf のパスワードを指定します。
    • /O output.pdf : リンク注釈を設定した output.pdf を書き出します。
    • /N input.xml : リンク注釈外部ファイルのパスはinput.xmlで、形式は XML です。

複数のPDFへ同じリンク注釈を設定することが可能です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/

関連記事

『アウトライナー3』コマンドライン(その1)



『アウトライナー3』コマンドライン(その1)

『アウトライナー3』が、5月15日にリリースされました。最新バージョンは、製品の64bit化、リンク注釈の編集機能追加、などが行われています。旧バージョンからある、しおりの編集機能、しおり外部ファイルの書き出し、読み込み機能と同じように、リンク注釈も、リンク注釈外部ファイルの書き出し、読み込み機能があります。

アウトライナーはコマンドラインからも実行できます。 製品のインストールフォルダに OutlinerCmd.exe が存在します。これがコマンドライン版の実行ファイルになります。今回は[リンク注釈外部ファイルの書き出し]について説明してみたいと思います。

[リンク注釈外部ファイルの書き出し]

リンク注釈外部ファイルの書き出しで使用する引数は次の通りです。

  • /D
    入力PDFファイルのパスを指定します。
  • /K
    入力PDFにパスワードが設定されている場合、この引数で指定します。
  • /L
    保存するリンク注釈外部ファイルの形式を指定します。
    形式には3種類あります。

    • @XML 結果をXML形式で出力します。
    • @CSV 結果をCSV形式で出力します。
    • @JSON 結果をJSON形式で出力します。
  • /O
    保存するリンク注釈外部ファイルのパスを指定します。

呼び出し例は次の通りです。

  • OutlinerCmd.exe /D input.pdf /O output.xml /L @XML
    • /D input.pdf : input.pdf を解析します。
    • /O output.xml : 解析結果を output.xml へ書き出します。
    • /L @XML : 解析結果の保存形式は XML です。
  • OutlinerCmd.exe /D input.pdf /K password /O output.csv /L @CSV
    • /D input.pdf : input.pdf を解析します。
    • /K password : input.pdf のパスワードを指定します。
    • /O output.csv : 解析結果を output.csv へ書き出します。
    • /A @CSV : 解析結果の保存形式は CSV です。

次回は書き出した、リンク注釈外部ファイルを使って、PDFにリンク注釈を設定する方法について説明してみたいと思います。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/

関連記事

『アウトライナー3』コマンドライン(その2)



『アウトライナー 3.0』鋭意開発中(2)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。現在開発中である次バージョンV3.0で追加された「リンク注釈の編集機能」について書いてみたいと思います。

読み込んだPDFに、リンク注釈が存在する場合、その外観がプレビュー上に表示されます。
この矩形をダブルクリックすると、リンク注釈の設定ダイアログを開きます。

リンク注釈の設定ダイアログでは、外観の変更が行えます。
アクションの設定ボタンをクリックすると、アクションの設定ダイアログを開きます。

この例では、編集中のPDFの2ページ上の矩形領域を、飛び先に設定します。

この例では、外部PDFの13ページ上の矩形領域を、飛び先に設定します。

しおりのプロパティに追加されたボタンをクリックすると、アクションの設定ダイアログを開きます。
リンク注釈と同じように、しおりのアクションが設定できます。

ページモード時の、サムネイルビューにあるツールバーに、リンク注釈の外部ファイル入出力用のボタンが増えています。
リンク注釈及び、アクションの情報を、CSVファイル、XMLファイル、JSONファイルに書き出したり、取り込むことができます。

リンク注釈の外部ファイルのXML形式の中をみてみます。
開発中のため、仕様は変更される可能性があります。

2020年4月リリースに向けて鋭意開発中です。2020年3月中旬にはβ版を評価用にリリースする予定です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/


『アウトライナー 3.0』鋭意開発中(1)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。現在開発中である次バージョンV3.0について書いてみたいと思います。

『アウトライナー3.0』の主な変更点

  • 64bit版アプリケーション
    V2.6までは、32bit版アプリケーションです。
    V3.0では、64bit版アプリケーションになります。よりサイズの大きなPDFの編集が可能になります。
  • 文書構造解析ライブラリV2
    V2.6までは、文書構造解析ライブラリV1を搭載しています。
    V3.0では、文書構造解析ライブラリV2を搭載します。しおりの自動解析精度が向上します。
  • リンク注釈の編集機能
    リンク注釈の外観、位置、サイズ変更が、対話的に行えます。
    リンク注釈のアクションの設定も、対話的に行えます。
    アクションの設定機能は、しおりのアクションの設定でも、呼び出せるようになります。
    例えば、外部PDFの指定したページをプレビューしながら、マウスで表示したい座標をドラッグして、飛び先として設定できます。
  • リンク注釈の外部ファイル入出力
    リンク注釈及び、アクションの情報を、CSVファイル、XMLファイル、JSONファイルに書き出したり、取り込むことができます。
    コマンドライン版からの指定も可能です。bat処理で、一括してリンク注釈を設定するなどが可能です。

2020年4月リリースに向けて鋭意開発中です。2020年3月中旬にはβ版を評価用にリリースする予定です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート) まで、お気軽にお問い合わせください。

評価版のお申込 評価版のお申し込み

Webページ http://www.antenna.co.jp/mpd/


『アウトライナー 2.6』の改定内容(その2)

『アウトライナー 2.6』の改定内容(その2)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。
電子納品PDF制作ではPDF分割関連機能が重要です。現在開発中である次バージョンV2.6では、「PDF分割機能」を追加し、「PDF結合機能」を強化します。今回はPDF結合機能について説明します。

[一括結合]

ファイルメニュー、ツール、「一括結合」

outliner-01

  • 「ファイル」をクリック
    ファイル選択ダイアログが表示されます。結合元となるPDFを選択します。Ctrl+Click, Shift+Click で複数選択可能です。
    選択されたPDFは、結合元リストに追加されます。
  • 「フォルダ」をクリック
    フォルダ選択ダイアログが表示されます。結合元となるPDFを含むフォルダを選択します。選択されたフォルダに含まれるPDFだけ検索します。再帰的に下位フォルダの検索は行いません。
    検索されたPDFは、結合元リストに追加されます。
  • 「結合元リスト」
    リスト上ファイルを選択して、並び順の前後(上下)移動や、リストからの削除がおこなえます。表示中のリストを外部ファイルに保存「リスト保存」、外部ファイルから読み込み「リスト読込」も可能です。リストの左端のチェックボックスは、しおりの設定で使用します。


  • 「しおりを結合する」
    • すべてのしおりのトップはオリジナルのまま
      結合元PDFが持つしおり階層を維持したまま結合します。文章内ページリンクの飛び先ページは自動設定されます。
    • しおりのトップをファイル名にする
      リスト上のチェックボックスが有効になっているファイルは、レベル1のしおりとしてファイル名を追加します。結合元PDFが持つしおりは、その下位に追加されます。
  • 「先頭ファイルの文章情報を結合後のファイルに反映する」
    リスト上の先頭ファイルの文書情報を、結合後のファイルに設定します。

一括結合の「実行」を選択すると、名前を付けて保存ダイアログが表示されます。保存先ファイル名を設定して「保存」を選択します。
結合処理が開始され、経過はログに表示されます。



元々アウトライナーはPDFの結合機能を持っています。編集用に開いたPDFのページ移動、追加、削除や、外部PDFとして開いたPDFのページ挿入です。
「一括結合」は、複数のPDFを結合する機能です。これは編集中のPDFとは関連性が無く、独立して呼び出すことが可能です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申し込み

Webページ
https://www.antenna.co.jp/mpd/


『アウトライナー 2.6』の改定内容(その1)

『アウトライナー 2.6』の改定内容(その1)

『アウトライナー』の基本コンセプトは、デジタル納品・デジタル配信などのデジタル形式で利用するPDFの制作支援ツールです。
電子納品PDF制作ではPDF分割関連機能が重要です。現在開発中である次バージョンV2.6では、「PDF分割機能」を追加し、「PDF結合機能」を強化します。今回はPDF分割機能について説明します。

[分割ポイントを設定]



「ページモード」の「サムネイルペイン」です。サムネイルの左上にチェックボックスが追加されています。有効状態に設定したページは「分割ポイント」となりPDF分割時に先頭ページとなります。分割ポイントの設定には4つの方法があります。

  • チェックボックスをマウスでクリック
    outliner-01
  • ファイルメニュー、ツール、分割ポイントを設定、「ファイル容量で分割ポイントを設定」
    編集中のPDFの保存時のサイズを計測して、指定したファイル容量で分割ポイントを設定します。


  • ファイルメニュー、ツール、分割ポイントを設定、「ページ単位で分割ポイントを設定」
    指定したページ単位で分割ポイントを設定します。


  • ファイルメニュー、ツール、分割ポイントを設定、「しおりの移動先ページで分割ポイントを設定」
    編集中PDFのしおりに設定された飛び先ページが変化したページに分割ポイントを設定します。


[分割してPDF出力]

ファイルメニュー、ファイル、「分割してPDF出力」または、ツールバーの「分割してPDF出力」ボタンをクリックします。

outliner-05保存先フォルダ
分割したPDFの保存先フォルダを設定します。

  • 同名ファイルが存在する場合
    「上書き」または「確認メッセージを表示する」を選択します。
  • 保存先ファイル名
    ベース名、連結文字、連番の開始番号、桁数(ゼロ詰め)を設定します。
  • 分割後のPDF、元のPDFのしおり
    分割先PDFに、しおりを「設定する」または「設定しない」を指定します。

    • ページ範囲内のしおりだけコピー
      移動先が分割先PDFのページとなるしおりをコピーします。しおりは、文章内のページリンクを設定します。
      移動先が分割先PDFのページに含まれないしおりは、コピーしません。
    • ページ範囲内(内部)と階層レベル1(外部)のしおりをけコピー
      移動先が分割先PDFのページとなるしおりをコピーします。しおりは、文章内のページリンクを設定します。
      移動先が分割先PDFのページに含まれないしおりは、階層レベル1のみコピーします。しおりは、外部PDFのページリンクを設定します。
    • すべてのしおりをコピー
      移動先が分割先PDFのページとなるしおりをコピーします。しおりは、文章内のページリンクを設定します。
      移動先が分割先PDFのページに含まれないしおりもコピーします。しおりは、外部PDFのページリンクを設定します。
  • 分割後のPDF、元のPDFの文書情報
    分割先PDFに、文書情報を「設定する」または「設定しない」を指定します。

分割の「実行」を選択すると、経過ダイアログが表示されます。



今回追加している「PDF分割機能」は、国土交通省の電子納品用PDF制作に利用することを考慮しています。ファイル容量を自動計測して、分割ポイントを設定する。分割先PDFにページが含まれる、含まれないに応じて、ページリンクを内部リンクまたは外部リンクに自動設定する。出力先PDFファイル名の自動連番を設定する。など、便利な機能を用意しております。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申し込み

Webページ
https://www.antenna.co.jp/mpd/


『アウトライナー』のコマンドライン(その2)

『アウトライナー』は、コマンドラインで次の機能を実行できます。

  • [しおりの自動生成]: 指定されたPDFファイルを解析して、しおり項目を自動生成します。生成結果は、しおり情報ファイルとして保存されます。自動生成の設定ファイルを指定できます。
  • [しおりの挿入]: 編集対象のPDFファイルとしおり情報ファイルを指定して、しおりを挿入したPDFファイルを出力します。

製品のインストールフォルダに OutlinerCmd.exe が存在します。これがコマンドライン版の実行ファイルになります。今回は[しおりの挿入]について説明してみたいと思います。

[しおりの挿入]

しおりの自動生成で使用する引数は次の通りです。

  • /D
    入力PDFファイルのパスを指定します。
  • /K
    入力PDFにパスワードが設定されている場合、この引数で指定します。
  • /B
    読み込む、外部しおりファイルのパスを指定します。
    形式には XML, CSV, JSON があり、拡張子で判定します。

    • XML形式の拡張子 “.xml”
    • CSV形式の拡張子 “.csv”
    • JSON形式の拡張子 “.json”
  • /O
    保存PDFファイルのパスを指定します。
    入力PDFに、しおり情報を設定した状態で、別のPDFファイルとして保存します。
    入力PDFに、既存のしおりがあれば、削除した後、しおりを設定します。

呼び出し例は次の通りです。

  • OutlinerCmd.exe /D input.pdf /O output.pdf /B input.xml
    • /D input.pdf : input.pdf を読み込みます。
    • /O output.pdf : しおりを設定した output.pdf を書き出します。
    • /B input.xml : 外部しおりファイルの形式は XML です。
  • OutlinerCmd.exe /D input.pdf /K password /O output.pdf /B input.csv
    • /D input.pdf : input.pdf を読み込みます。
    • /K password : input.pdf のパスワードを指定します。
    • /O output.pdf : しおりを設定した output.pdf を書き出します。
    • /B input.csv : 外部しおりファイルの形式は CSV です。

複数のPDFへ同じしおりを設定したい。このような場合にいかがでしょうか?

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申し込み

Webページ
アウトライナー 2.5 New!


『アウトライナー』のコマンドライン(その1)

『アウトライナー』は、コマンドラインで次の機能を実行できます。

  • [しおりの自動生成]: 指定されたPDFファイルを解析して、しおり項目を自動生成します。生成結果は、しおり情報ファイルとして保存されます。自動生成の設定ファイルを指定できます。
  • [しおりの挿入]: 編集対象のPDFファイルとしおり情報ファイルを指定して、しおりを挿入したPDFファイルを出力します。

製品のインストールフォルダに OutlinerCmd.exe が存在します。これがコマンドライン版の実行ファイルになります。今回は[しおりの自動生成]について説明してみたいと思います。

[しおりの自動生成]

しおりの自動生成で使用する引数は次の通りです。

  • /D
    入力PDFファイルのパスを指定します。
  • /K
    入力PDFにパスワードが設定されている場合、この引数で指定します。
  • /A
    入力PDFを解析して、生成されたしおり項目を外部ファイルに保存します。
    保存するしおり外部ファイルの形式を指定します。
    形式には3種類あります。

    • @XML 結果をXML形式で出力します。
    • @CSV 結果をCSV形式で出力します。
    • @JSON 結果をJSON形式で出力します。
  • /I
    入力PDFが持つ、既存のしおり情報を、外部ファイルに保存します。
    保存するしおり外部ファイルの形式を指定します。
    形式には3種類あります。

    • @XML 結果をXML形式で出力します。
    • @CSV 結果をCSV形式で出力します。
    • @JSON 結果をJSON形式で出力します。

    /A と /I は同時に指定できません。

  • /O
    入力PDFを解析して、生成されたしおり項目を外部ファイルに保存します。
    保存するしおり外部ファイルのパス指定します。
  • /S
    自動生成の設定ファイル(XML)のパスを指定します。

呼び出し例は次の通りです。

  • OutlinerCmd.exe /D input.pdf /O output.xml /A @XML
    • /D input.pdf : input.pdf を解析します。
    • /O output.xml : 解析結果を output.xml へ書き出します。
    • /A @XML : 解析結果の保存形式は XML です。
  • OutlinerCmd.exe /D input.pdf /K password /O output.xml /A @XML
    • /D input.pdf : input.pdf を解析します。
    • /K password : input.pdf のパスワードを指定します。
    • /O output.csv : 解析結果を output.csv へ書き出します。
    • /A @CSV : 解析結果の保存形式は CSV です。
  • OutlinerCmd.exe /D input.pdf /O output.xml /I @JSON
    • /D input.pdf : input.pdf を読み込みます。
    • /O output.json : しおり情報を output.json へ書き出します。
    • /I @JSON : 既存のしおり情報を JSON 形式で保存します。

OutlinerCmd.exe では、外部しおりファイルを使って、別のPDFに、しおりを追加することも可能です。

製品に関するご質問は
outliner@antenna.co.jp(アウトライナーサポート)
まで、お気軽にお問い合わせください。

評価版のお申込
評価版のお申し込み

Webページ
アウトライナー 2.5 New!


Pages: 1 2 Next