タグ別アーカイブ: PDF

CommonMark文書をXSL-FO経由でPDFへ変換する

前回、cmark[1]でCommonMark[2]のASTをXML形式で得られることを確認しました。

記事中で登場するコードの動作についての保証はできかねます*1。ご了承ください。

今回の記事で使用した環境は次になります。

文書はその目的に適した構造を持ち、組版では多くの場合その構造に沿ってマークアップを行うでしょう[3]。
Markdownはそれらを放棄しているために、文書として組版するためには不足するものを補う必要があります*2。基本的には、「レポート」であるならレポートの見た目になるよう、Markdown文書とレポートの対応関係を用意する必要があるということです。例えば「<heading level="1">のテキストをレポートのタイトルとする」として、「レポートタイトルはフォントサイズは本文の2倍、中央寄せ、前後のアキは……」とスタイルを用意していきます。書籍を組むのであれば目次や索引などが補う対象となります。

記法の数が比較的少ないCommonMarkとはいえ、すべての対応関係について記述するのは労力が大きいため、一部のみとします。また、前回言及した「Markdown + XSL → PDF」[4]の記事ではリンク記法を応用して脚注記法を用意していますが、処理が複雑化しますのでこういった応用もしません。

変換するCommonMark文書

# CommonMark文書をAH XSL FormatterでPDFにする

## はじめに

[XSL](https://www.w3.org/TR/xsl/)は2部に分けられます。一方はスタイルシート言語としてのXML語彙(XSL-FO)、他方はXML変換のための言語XSLTです。

## 基本版面

`<fo:simple-page-master>`とその子要素に基本版面のサイズとそれぞれの区画を記述していきます。

* `<fo:region-before>`
* `<fo:region-after>`
* `<fo:region-start>`
* `<fo:region-end>`
* `<fo:region-body>`


startからendは*行進行方向*、beforeからafterは*ブロック進行方向*です。

## 本文

```xml
<fo:flow flow-name="xsl-region-body">
    <fo:block>
        ...
```

region-bodyの`region-name`の既定値は「xsl-region-body」ですが、**変更**できます。

基本版面が完成したら、ヘッダやフッタなど配置が固定的なものを配置する`<fo:static-content>`と、
見出しや本文の`<fo:flow>`を記述していきます。版面で指定したページマスタや区画を指定します。

ようやく紙面に文字を表示するための記述に入れます。LaTeXなどではクラスファイルとしてまとめられている箇所を自力で書いているようなものですので、慣れるまでは煩雑に見えるかもしれません。

XMLへの変換

このCommonMark文書をPDFに変換します。
cmarkによるCommonMark文書のXML変換はコマンドライン操作になります。標準出力に出力されるため、出力結果をファイルに書き込んでいます。変換結果のXMLで文字化けがしていたら、コマンドラインの文字コード設定などが関係しているかもしれません。

> cmark.exe doc.md -t XML > result.xml 

このXMLをXSLTで変換し、得られたFOをAntenna House XSL FormatterでPDFへと変換します。先に結果を見てみましょう。

PDF出力結果



源ノ明朝、源ノ角ゴシックを使用したPDFが出力されています。欧文はTimes New RomanとDeja Vu Sansです。

XSLTの抜粋

AH Formatterではソフトウェア側の設定をあまり弄らずともOpenTypeフォントを使用できます。

<!-- XSLT -->
<xsl:attribute-set name="mainfont">
 <xsl:attribute name="font-family">Times New Roman, 源ノ明朝</xsl:attribute>
 <xsl:attribute name="font-size">14q</xsl:attribute>
 <xsl:attribute name="line-height">1.7</xsl:attribute>
</xsl:attribute-set>

<xsl:template match="/"><fo:root>を置きます。


<xsl:template match="/">
 <xsl:variable name="varAuthor" select="'アンテナハウス'" />
 <xsl:variable name="varTitle"><xsl:text>CommonMarkからXSL-FOでPDFを作る</xsl:text>
</xsl:variable>
 <xsl:variable name="varMainPageName" select="'main'" />
 
 <fo:root xsl:use-attribute-sets="attsRoot">
 <!-- 基本版面 -->
 <xsl:call-template name="layoutMasterSet"> 
 <xsl:with-param name="mainPageName" select="$varMainPageName" />
 </xsl:call-template>
 <!-- 表紙 -->
 <xsl:call-template name="coverPage">
 <xsl:with-param name="mainPageName" select="$varMainPageName" />
 <xsl:with-param name="author" select="$varAuthor"/>
 <xsl:with-param name="title" select="$varTitle"/>
 </xsl:call-template>
 
 <!-- 文書内容 -->
 <fo:page-sequence master-reference="{$varMainPageName}"
 xsl:use-attribute-sets="attsPageSequence">
 <xsl:apply-templates />
 </fo:page-sequence>
 </fo:root>
</xsl:template>

<xsl:template match="md:document">

 <xsl:call-template name="header">
 <xsl:call-template name="footer" />
 <fo:flow flow-name="xsl-region-body">
 <xsl:apply-templates />
 </fo:flow>
</xsl:template>

基本版面についてはMarkdown側で干渉するところは特にないので名前付きテンプレートとして省略しました*3。coverPageテンプレートで本文とは別に表紙を作っています。
著者情報を「レベル1見出しの直後の段落を著者名にする」といった形でMarkdown側で記述するようにもできるでしょうが、
やはり「Markdownでは記述しない箇所を決める」という割り切りがある程度の単純さを保つために必要に思えます。

ブロックの例を見てみましょう。

<xsl:attribute-set name="attsCode">
 <xsl:attribute name="font-family">Source Code Pro, 源ノ角ゴシック Code JP, monospace</xsl:attribute>
 <xsl:attribute name="font-size">12q</xsl:attribute>
 <xsl:attribute name="xml:space">preserve</xsl:attribute>
</xsl:attribute-set>

<xsl:attribute-set name="attsCodeBlock" use-attribute-sets="attsCode">
 <xsl:attribute name="linefeed-treatment">preserve</xsl:attribute>
 <xsl:attribute name="axf:border-bottom-left-radius">3pt</xsl:attribute>
 <xsl:attribute name="axf:border-top-right-radius">3pt</xsl:attribute>
 <xsl:attribute name="border">solid 1.5pt gray</xsl:attribute>
 <xsl:attribute name="background-color">silver</xsl:attribute>
 <xsl:attribute name="padding">3mm</xsl:attribute>
 <xsl:attribute name="space-before">4mm</xsl:attribute>
 <xsl:attribute name="space-after">4mm</xsl:attribute>
</xsl:attribute-set>

<xsl:template match="md:code_block">
 <fo:block xsl:use-attribute-sets="attsCodeBlock">
 <xsl:apply-templates />
 </fo:block>
</xsl:template>

コードブロックです。CommonMarkのASTにはinfoとして最初の行の```xml、「xml」が格納されていますが、
1からシンタックスハイライトを行うのはつらいので、背景色やボーダー、等幅フォントを指定しています。< xsl:templatye match="md:code_block">の箇所はかなりシンプルにできていますね。

<xsl:attribute-set name="attsListBlock">
 <xsl:attribute name="space-before">1rem</xsl:attribute>
 <xsl:attribute name="space-after">1.4rem</xsl:attribute>
 <xsl:attribute name="provisional-label-separation">2mm</xsl:attribute>
 <xsl:attribute name="provisional-distance-between-starts">5mm</xsl:attribute>
</xsl:attribute-set>

<xsl:template match="md:item">
 <xsl:variable name="type" select="../@type" />
 
 <fo:list-item xsl:use-attribute-sets="attsItem">
 <fo:list-item-label end-indent="label-end()">
 <fo:block text-align="end">
 <xsl:attribute name="axf:number-transform">
 <xsl:choose>
 <xsl:when test="$type = 'bullet'">
 <xsl:text>circle</xsl:text>
 </xsl:when>
 <xsl:when test="$type = 'ordered'">
 <xsl:text>1.</xsl:text>
 </xsl:when>
 </xsl:choose>
 </xsl:attribute>
 <xsl:number />
 </fo:block>
 </fo:list-item-label>
 <fo:list-item-body start-indent="body-start()">
 <fo:block>
 <xsl:apply-templates />
 </fo:block>
 </fo:list-item-body>
 </fo:list-item>
</xsl:template>

<xsl:template match="md:list">
 
<fo:block-container column-count="2">
 <fo:list-block xsl:use-attribute-sets="attsListBlock">
 <xsl:apply-templates />
 </fo:list-block>
</fo:block-container>
</xsl:template>

箇条書き(リスト)です。それぞれの項目が短い場合、1段だと余白がかなり空いてしまいます。AH Formatterではブロックコンテナでも段組みを別に指定できるので、2段組にしてみました。今回使用してはいないものの、数字付き箇条書きでも動作します。CommonMarkのASTでは箇条書きは同じlist構造でtypeプロパティの値が違う形なので、HTMLのようにulとolが分けられているより対応が楽だと感じました。入れ子のリストでの記号の変更も、 <xsl:variable name="nest" select="count(ancestor::list)" />のようにすれば階層が割と簡単に分かりそうです。
ところでこの組版結果は想定とズレていて、ASTの<item>の内部で一度<paragraph>が使われているため、ラベルと項目の間に、通常の段落を想定した段落開始のインデントが入ってしまっています。

インライン記法の変換例を見てみましょう。

<xsl:attribute-set name="attsEm">
 <xsl:attribute name="axf:text-emphasis-style">dot</xsl:attribute>
 <xsl:attribute name="axf:text-emphasis-font-family">Kenten Generic</xsl:attribute>
 <xsl:attribute name="axf:text-emphasis-skip">spaces punctuation symbols narrow</xsl:attribute>
</xsl:attribute-set>

<xsl:template match="md:emph">
 <fo:inline xsl:use-attribute-sets="attsEm">
 <xsl:apply-templates />
 </fo:inline>
</xsl:template>

和文の簡易マークアップで悩ましいemとstrong。AH Fromatterでは圏点の拡張がありますから、emでは圏点を使用してみました。


今回の記事は『スタイルシート開発の基礎 XMLとFOで簡単な本を作ってみよう』[5]を片手に、適宜読み替えながら書き進めてみました。Markdownからの変換はLaTeXやHTML経由でのものが多く、それぞれに長所や特徴がありますが、XSL-FOで1つ1つ記法とFOを確かめながらというのも、組版全般やXSLTの学習がしっかり進んだように感じ、良いものです。
体感としては、一般的なプログラミング言語で同程度の内容を書くよりも3倍くらいの行数になっている感じがします。

*1XSLTとXSL-FOの記法について学習中の人間が執筆しました。誤りが含まれる箇所があるかもしれません。

*2 「不足する」他のものとしては、表示言語などもそうです。多くのXMLアプリケーションでは「xml:lang」や「id」といった情報は<xsl:copy-of>を利用して入力から出力へそのまま渡せますが、CommonMarkのASTにその情報は含まれません。<html_block>の情報としてマークアップを処理する、言語ごとにファイルを分けるなど、手軽な処理とはいかないでしょう。

*3 <template match="/">は個人的な感覚としては一般的なプログラミング言語におけるmain関数に近いので、切り出せる処理を適時追い出し、子の箇所で必要な値(で子からの取得が面倒なもの)については<xsl:with-param>で渡しています。<xsl:attribute>は調整する可能性がないものは<xsl:template>内でハードコード、そうでなければxsl:use-attribute-setsで別に切り出しています。2ページもない文書を処理するにしては冗長かもしれません。


参考資料

  1. [1] https://github.com/commonmark/cmark
  2. [2] https://commonmark.org/
  3. [3] 構造化文書とは – アンテナハウス
  4. [4] Markdown + XSL → PDF
  5. [5] スタイルシート開発の基礎 – アンテナハウス


Antenna House Formatter

DITA/XML Service Antenna House


関連記事


PDFの色指定(5)CIEベースカラースペース

PDFにおけるCIEベースカラースペースは初回に紹介したように次の4つです。

  • CalGray
  • CalRGB
  • Lab
  • ICCBased

デバイスカラーベースと異なり、出力デバイスに依らず色を指定できます。出力時の処理では内部でXYZの3値による表現に変換され、このXYZがデバイスカラースペースに変換されます。そこからはデバイスカラースペースと同様に処理されます。

CalGrayはグレースペースの要素Aを用います。Aは0.0~1.0の値を取ります。値AをMatrix Aを使用しLMNの3値にデコードします。このLMNをそのままXYZとして使用します。
このMatrix Aを構成する値が、CalGrayに辞書型で格納される、CIEXYZに基づく白の基準値WhitePointと、黒の基準値BlackPointの3つの数値からなる配列と、輝度補正に使うGammaです。WhitePoint以外はオプションで、指定しなければ既定値を使用します。白と黒の基準値は、それぞれdiffuse white point、diffuse black pointと呼ばれるものです。

CalRGBでは入力値が増えます。CalRGBにに格納する辞書型は、GammaがRGBに対応する3値の配列になる他、Matrixというキーで3×3の行列が格納でき、XYZへ変換するときに補正値として用います。

PDFにおけるCIEベースカラースペースでのLabは正しくはCIE LABの方です。辞書型WhitePoint、BlackPointと、Rangeというa*、b*をそれぞれの最大値、最小値で指定する4つの数値の配列を格納しています。

最後にICCBasedカラースペースについてです。ICCカラープロファイルをストリーム型として格納できます。
追加として、サポートしていないデータがあった場合などに代替される設定名の配列Alternateや、ICCプロファイルで記述されているCoulor Componentの数Nを辞書型で格納します。PDF1.7ではICC. 1:2004-10に対応しています。

デバイス依存の色指定を、comformingなPDF writerは、機械的にCIEベースカラースペースに変換するよう要求できるとあります。

ISO 32000-1:2008にはこれらの詳細が数式・図表付きで記述されています。

参考

ISO 32000に準拠するPDFってどんなもの?


PDFの色指定について
デバイスカラースペース
PDFの色指定について(2)
色とは何か
PDFの色指定 (3)CIE1931 CIELuv CIELAB
CIEカラースペース
PDFの色指定(4)
ICCプロファイル

PDFの色指定(4) ICCプロファイル

前回、CIE1931、CIELAB、CIELUVについて触れました。
これらを活用し、様々なデバイスで色について統一的にマネジメントするための仕組みがICCプロファイルです。

International Color Consortium(ICC)[1]は、コンピュータやデジタルカメラ、スキャナ、プリンタなどのデバイス上で統一して色の管理を行うための標準化団体です。ベンダー8社を中心に1993年に設立されました。

ICCプロファイルは基準となるカラースペースの定義と、それに基づく設定の記述によって構成されています。基準となるカラースペースはプロファイル接続空間(PCS)と呼ばれます。これは、CIEXYZやCIELABによるカラースペースに制限を加え、プロファイルに使用しやすいようにしたものです。PCSという共通のカラースペースがあることで、あるデバイスでの色の記述を、そのデバイスのプロファイルを使いPCSの色表現に変換し、それを別のデバイスプロファイルを使って別のデバイス上での色の記述に変換できます。またICCプロファイルには、色の記述をPCSでの色表現に変換するための共通のインターフェースという役割があります。
このインターフェースは、先に挙げたPCSとPCSに色の記述を変換する設定の書式を厳密に定めたもので、構造としては、ヘッダ部、タグのテーブル、タグに紐付いたデータで構成されます。変換アルゴリズムなどの実装については定めていません。

PCSからデバイスの色に変換する際に、そのままではデバイスで対応できない色が含まれる場合があります。そのときに対応していない色をどの色にマッピングするかを定める「レンダリングインテント」と呼ばれるものをICCプロファイルに用意できます。

caption: PCS

ICCプロファイルは、デバイスによって幾つかの種類に分けられます。主に次の3つです。

  • スキャナ、デジタルカメラなどのための入力プロファイル
  •  ディスプレイなどでの表示のためのディスプレイプロファイル
  •  プリンタなどのための出力プロファイル

他の種類もあります。

  • 画像形式での流通のためのカラースペースコンバージョンプロファイル
  • 特定の色のための命名色プロファイル
  • 追加の補正情報を埋め込むためのアブストラクトプロファイル

さらに、プロファイルを組み合わせて1つにした、デバイスリンクプロファイルがあります。

相互に色を変換するための共通の書式であるICCプロファイルについて概要を説明しました。
次回はようやく、PDFのCIEベースカラースペースについての回になる予定です。

[1] http://www.color.org/abouticc.xalter

PDFの色指定について
PDFの色指定の概要・デバイスカラースペース
PDFの色指定について(2)
色とは何か
PDFの色指定 (3)CIE1931 CIELuv CIELAB
CIEカラースペース
PDEの色指定(5)CIEベースカラースペース
PDFのCIEベースカラースペース格納形式と使用のされ方の概略

『アウトライナー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)



「自動組版エンジン【AH Formatter V7】セミナー 」を3/6に開催します【2/27追記:中止のお知らせ】

2/27追記:3/6日に開催を予定しておりました「自動組版エンジン【AH Formatter V7】セミナー 」は新型コロナウイルス感染症に関わる状況の急激な変化を鑑み、開催を中止いたします。

概要

大容量・多言語データに最適な自動組版ソフト【AH Formatter】が、8年振りのメジャーバージョンアップを行いました。その新機能の説明と最新の海外動向、事例紹介、及びDITAに関する簡単なセミナーを行います。

【AH Formatter】は、独自開発した PDF出力エンジンで、
アクセシブルなタグ付きPDF や印刷用の PDF/X、長期保存用の PDF/A などさまざまな PDF形式の出力ができます。

 セミナー内容

AH Formatter 20年の歩み
アンテナハウス 小林 徳滋

AH Formatter V7.0 新機能紹介
 アンテナハウス 額賀 正彦
PDFもDTPデータもハイブリッドで提供可能 自動組版クラウドサービス「DOT3」でのFormatter利用事例
株式会社 ニューキャスト 川原 正隆 様
求人・クーポン・住宅などの情報誌からメーカーや商社発行のカタログなど様々な商業印刷物をクラウド上のFormatter(ASPライセンス)でPDF生成しています。
また、同じデータをInDesignで編集可能なIDMLにも変換してハイブリッドな提供を実現している事例をご紹介します。

AH Formatter 海外動向
アンテナハウス 平出 桂子
Tangeloは企業用レポートを作成するためのソリューションを西ヨーロッパ、北米、アジア太平洋地域のクライアントに提供しているアンテナハウスのパートナーです。TangeloがAH Formatter を使ってどのようなサービスを提供しているかをお伝えします。
DITAの「コンテンツ再利用」について
 アンテナハウス 小林 具典
DITAの大きな目標のひとつである「コンテンツ再利用」の仕組みを説明します。
またこの仕組みを上手に利用することにどういうメリットがあるのかにも触れます。

タイムテーブル

 開始  終了
13:15 13:30 受付開始
13:30 13:35 ご挨
13:35 14:05 AH Formatter 20年の歩み
14:05 14:35 AH Formatter V7.0 新機能紹介
14:35 15:15 事例紹介 ニューキャスト様
15:25 15:55 AH Formatter 海外動向
15:55 16:25 DITAの「コンテンツ再利用」について
16:25 16:45 質疑応答

会場

日時 2020年3月6日(金)13:15~16:45
 会場  関東ITソフトウェア健康保険組合 1FA
 住所 東京都新宿区百人町2丁目27-6

参加登録は次のページで受け付けております。

「こくちーず」で参加登録

AH Formatterのページはこちら


『アウトライナー 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/


page2020

2/5から三日間、池袋サンシャインで開催された page2020 に弊社も出展しました。
毎年出展しているのですが、今年はいつもより来場者が多かったように感じました。いつもなら初日の午前中はほとんどお客様が来ないのですが、今回は3日間平均していつもより多いかな、という印象です。

自動組版に興味をお持ちの方がたくさん弊社ブースにお立ち寄りくださいました。ありがたいことです。
以前からそうなのですが、やはり一番の難所は「既存コンテンツをどうやってXMLにするのか」というところですね。これを解決するソリューションを作ったら成功間違い無し!?


DITA Festa 2020 京都

まだ DCJ(DITA コンソーシアムジャパン)から公式な発表はありませんが、どうやら3月の中ごろに「DITA Festa 2020 京都」の開催を計画しているようです。おそらくですが、昨年11月に開催された「DITA Festa 2019 東京」の中から特に評判の良かったセッションをそのまま京都まで持って行くと思われます。
近日中にDCJから公式発表があると思いますので、関西方面でDITAに興味ある方はぜひご参加を。

DCJの公式サイトはこちら(https://dita-jp.org/)です。


Pages: 1 2 3 4 5 6 7 8 9 Next