カテゴリー別アーカイブ: PDF のあれこれ

JATSをPDFに

先日、学術情報XML推進協議会さん主催のセミナーにお招きいただき、「XML自動組版を実践する」というテーマで2時間近くお話させていただく機会がありました。いつもは30分とかせいぜい1時間くらいお話しさせていただくことが多いのですが、2時間というのは相当長い時間をいただいたことになります。
ご参加者者は35名くらいだったでしょうか。お申し込みはもっとあったようですが、会場のキャパの関係で途中で受付を打ち切られたそうです。そういうお話を聞かされたらこちらも気合が入ります(笑)。

まずXMLの一般的な話題から入って、それをPDFにするための手段について話を進めます。

XMLの具体例

XML→XSL-FO→PDF

そしてXSL-FOの概要説明を経て、XSLTスタイルシートの説明。

XSL-FO の具体例

XSLTスタイルシートの例

XSLTスタイルシートの例

最後に、どうやってJATSを入力するのか、ということで今回はoXygenを使って実際に入力するところをご覧いただきました。

昨年も、学術情報XML推進協議会さんにはセミナーにお招きいただき、そのときは主にHTMLに変換するためのXSLTスタイルシートの作り方のお話をさせていただいています。
JATSに限らず、もしXMLの自動組版について話が聞きたいという方がいらっしゃいましたら、いつでもご連絡ください。お待ちしております。


PDFの色指定について(2)

前回、PDFのデバイスカラースペースの3種類について説明しました。これらはその名前にある通りデバイスに依存したカラーの表現方法でした。そのため同じRGB値、あるいはCMYK値でも、デバイスが異なると違って見えることになります。同じ写真を2つの違うプリンタで印刷したり、同じ番組を違うテレビで見たり、といった身近なところでも経験することが多いかと思います。PDFの場合にあてはめれば、何か文書を作成してPDF化し、他の人にそのPDFを送って参照してもらうような場合に、作成した人が見ている画面と、送った先の人が見ている画面(あるいは印刷した紙)では別の色が表示されている、という現象になります。

このあたりを解決する、つまり異なるデバイス間で、同じカラー指定に対して同じ出力を行うことを目的としたカラースペースがCIEベースのカラースペースとなります。同じ出力といっても、当然ながら「そのデバイスの制限範囲内で」という制限がつきます。ディスプレイにしてもプリンタにしても、デバイスによって可能な色の再現範囲は異なりますので、その中で、指定に近い出力を得る(カラー値やカラースペースをどう調整しても、モノクロプリンタでカラー写真を印刷はできませんし)ことが目標となります。

前回記載したPDFで定義されている CIEベースカラースペース として、CalGray、CalRGB、Labは、および ICCBased の4種類を記載しました。これらのカラースペースの内容、指定されたカラー値を再現する方法の説明となるわけですが、PDFの仕様以前に、色とは何か、という非常にやっかいな説明が必要となってしまいます。わかる範囲で少し説明を試みてみたいと思います(デバイスカラースペースは、光の3原色、あるいは、プリンタのインクというような身近なところから、なんとなく理解できそうなので、色とは、などという説明抜きでなんとなく説明できましたが)。

おおざっぱにいえば、なんらかの光源から発した光が、物体にあたって反射し、人間の目に入り、人間がその物体の色として認識する、ということになります。赤いクルマといっても、太陽光の下で見る場合と、トンネル中の証明で見る場合と違うのは光源の発する光の性質が異なっていることによります。この光ですが、波としての性質を持つ、空中を伝わる振動エネルギーの束と考えることができるようです。波の性質として波長がありますが、高エネルギーの光の波長は短く(たとえば、X線では 1nm)、低エネルギーの光の波長は長く(ラジオの中波は100m~1km)なります。人間の目がとらえることができる可視光の波長は380nm~700nmのきわめて狭い領域ですが、この短波長側の光を紫、長波長側の光を赤として認識します。その外側を、がそれぞれ紫外線、赤外線と呼んだりします。また、虹などでは紫から赤までを適当に区切って7色と数えたりします。太陽光のような実際の光はいろいろな波長が混在した光です。可視光内で、緑の波長(国際照明委員会の規定では546.1nmだそうです)が多く含まれていれば緑、各波長の光が均等に含まれていると白と認識します。

ちょっと先走って、人間が赤とか紫とか認識すると書きましたが、人の目に入ってきた光は角膜、水晶体を通過して網膜にあたります。網膜上には光に反応する受容体として桿体、錐体というものが存在します。この錐体に可視光内の長波長(赤)に反応するもの、中波長(緑)に反応するもの、短波長(青)に反応するものがあり、それぞれの錐体がどのくらい反応するかで光の色を認識することになります。

色の話になってしまって、PDFのCIEベースカラースペースの話まで進めませんでした。こういう色というものをコンピュータ上でどう表現するか、さらにPDFではどう表現するか、また続きを記載したいと思います。


PDFの色指定について

これまで、PDFの関連仕様としてPDF/X,PDF/A などについて説明してきました。これらの各仕様の中には「カラーの再現性を保証」するために、PDFがサポートする各種カラースペースに対して制限を設けているものがありました。たとえば、PDF/X-1およびPDF/X-1aでは、使用できるカラースペースをCMYK(およびグレースケール)に限定しています。今回からPDFで使用できる色について、説明してみたいと思います。

PDFのカラー機能
まずPDFのカラー機能ですが、色を指定する機能と色を描画する機能に分けられます。
色を指定する機能
ページコンテンツの文字、線、画像、あるいは、ページコンテンツ以外のしおり、注釈といった各種オブジェクトに対して色を指定する機能になります。
色を描画する機能
色の変換やガンマ補正などを行ってPDF内に指定されている色を表示する機能です。

PDFの作成者側では、PDF内の各種オブジェクトに対して色を指定し、PDFの表示・印刷などの使用者側では、指定された色を解釈し、対象のデバイスで使用可能な機能を用いて指定された色を再現することになります。PDFの色指定には様々な方法が用意されています。表示する特定のデバイスに依存しない方法で色を指定することもできます。

PDFのカラー指定
次にPDFでカラーを指定する方法を見ていきたいと思います。
カラー値
PDF内での色の指定方法は各種存在しますが、通常、カラースペースを指定し、カラースペースによって決まるカラー成分毎に値を指定することになります。たとえば、RGBカラースペースであればカラー成分はR,G,Bの3成分を持ちますので、カラースペースとしてRGBを指定したのち、これらの各成分に対応する3種類の値を指定することになります。
カラースペース
PDFで使用されるカラースペースの説明に入ります。PDFのカラースペースは大きく3種類のカテゴリに分類されます。

  • デバイスカラースペース
    • DeviceGray
    • DeviceRGB
    • DeviceCMYK
  • CIEベースカラースペース
    • CalGray
    • CalRGB
    • Lab
    • ICCBased
  • 特殊カラースペース
    • Pattern
    • Indexed
    • Separation
    • DeviceN
デバイスカラースペース
出力デバイス上の表現に直接関係するカラー値を指定します。一番簡単な指定方法ですが、同じ指定をしても出力デバイスが異なれば違った色に見えることが多いという欠点もあります。

  • DeviceGray
    無彩色の光の輝度を白と黒の比率で制御します。カラー値の成分は1つであり、黒 0 ~白 1の範囲で表現されます。
  • DeviceRGB
    加法混色の3原色 赤・緑・青(R,G,B)を成分に持ち、各成分の値を 0(成分無)~1(最大輝度)で表現します。黒(0,0,0) ~白(1,1,1)となります。
  • DeviceCMYK
    減法混色の4原色 シアン、マゼンタ、イエロー、ブラック (C/M/Y/K)を成分に持ち、各成分の値を0(その成分無)から1(最大濃度)で表現します。白(0,0,0,0)から黒(1,1,1,0) となります。成分Kは、理論的には不要ですが、CMYのインクを混合して黒を生成するより黒インクを使用するほうが印刷上、きれいな黒が表現されるために使用されます。(0,0,0,1)も黒となります。

PDF内で、各カラースペースを混在して指定することができます。たとえば黒でABCと3文字表示されていても「A」はDeviceGrayの0、「B」はDeviceRGBの(0,0,0)、「C」はDeviceCMYKの(1,1,1,0)という場合もあり得ます。(PDF/XやPDF/Aではこのあたりの混在使用を禁止しています)

次回、CIEベースカラースペースについて説明したいと思います。


PDF/A-1aのタグの見方

今回は PDF/Aの作成方法(準拠レベルA) でAcrobat/Wordが出力したPDF/A-1aの内容、主にタグ部分について少し見てみたいと思います。
レベルAではレベルBが持たない情報である文書の論理構造、言語などの情報を持つ必要がありました。PDFでは、文書の論理構造を表現するためにタグと呼ばれる仕組みを用意しています。
このあたりをつかって元文書がどのように表現されているか、Wordで簡単なサンプル文書を作成して、PDF/A-1aに変換したものを見てみます。

Word文書

Word文書

章、節、項の部分はWordの組み込みスタイルである「見出し1」~「見出し3」を使用し、
リスト番号を付加したものです。他に、箇条書き、表、画像 などを入れてみました。

Acrobat XIでは 「表示メニュー」の「表示切り替え」-「ナビゲーションパネル」-「タグ」とすることで、ドキュメント内につけられているタグの様子を見ることができます。左側にタグが階層表示され、ここをクリックすると本文内の対応する箇所がハイライト表示されます。
Word 2013で「PDF/A」および「アクセシビリティ用のドキュメント構造タグ」を指定して作成したPDFの場合
PDFの場合
このように表示されます。

一方、Word 2013から Acrobat XIのWord用PDFMakerでPDF/A-1aを指定して作成したPDFの場合
2013-12-06-03
となりました。

主なところだけ展開したキャプチャです。似たような構造ですが、タグの名前をはじめとして、細部では若干タグのつけ方も異なっていることがわかります。

PDFMakerでは「見出し1」など、Wordのスタイル名をそのままタグ名に使用しています。これら独自のタグ名をPDF仕様が用意している標準的なタグ名に割り当てる「ロールマップ」という仕組みがPDFに用意されていて、Acrobatでも表示させることができます。
ロールマップ

これを参照すると、スタイル名の「見出し1」を標準タグの「H1」に対応づけていることがわかります。

このような形でタグを使用して元文書の論理構造をPDFで表現します。

また、比較のために、Wordの「見出し1」などのスタイルを使わずに、表示だけ似たような形の文書を作成してPDF/A-1a出力してみます。
スタイルを使わない場合
ここの 章番号 1. 、1.1.1 などはWordのリスト番号ではなく、通常のテキスト入力したものです。
PDF/A-1aに変換した結果のタグを見てみます。
結果
これはWordのPDF保存の場合ですが、このように、こちらでは文書構造を取得するヒントとなるものが存在しないため、単純に〈P〉タグだけで出力されていることがわかります。

以上、簡単なタグ付け内容の参照方法となります。


続・OCRのよもやま話

先日、JR東海から2027年度に開業が予定されるリニア新幹線の概要が発表されました。多くのメディアで取り上げられましたので興味を持って見られた方も多かったのではないでしょうか?
弊社の伊那支店がある長野県南部にもリニア新幹線の新駅ができる計画で、地元紙でも大々的に記事が掲載されました。これまで夢としてしか語られなかったことがにわかに現実味を帯びてきたことで、谷あいののどかな地方にこれからどのような風が吹きこむのか、住人としても目が離せない気がします。

閑話休題。

昨年の7月頃に『OCRのよもやま話』という記事を書きました。
今回はその続きということで、OCRにまつわる話題をいくつか追加したいと思います。

OCRと解像度

OCRとは、Optical Character Recognition(あるいはReader)の略で、紙に印刷された文字をイメージスキャナなどで読み取り、画像化された情報から文字情報を抽出する技術であることを以前の記事でご紹介しました。

OCRで文字を正確に取り出すために必要な要素を考えると、おおよそ以下の点が挙げられると思います。

  1. 元になる原稿の状態が良好であること(文字が鮮明で、紙に汚れや皺がないなど)
  2. 適切な解像度でスキャンされていること
  3. OCRソフトが適切な性能であること

このうち、2)の「解像度」について取り上げます。

OCRで使う解像度はスキャナなどで取り込む画像の品質を表すもので、dpi(ディーピーアイ)という単位を使います。これは、1インチ(2.54cm)の間隔にどれだけ物理的な点(画素)が配置されているかを示すもので、同じ大きさの画像で比べた場合は、解像度の値が大きいほど高精細な画像が得られます。

解像度は別の言い方をすると、1インチあたりの画素の密度を表すということができます。密度が濃ければそれだけ細かい描写が可能になります。以下はそれを模式図にしたものですが、文字のサンプルにあるように解像度が小さいと曲線などで滑らかな表現ができなくなります。

解像度

解像度

では、実際に異なる解像度でスキャナから取り込んで比較してみましょう。

以下は、スキャナの設定でそれぞれ 200dpi/400dpi に解像度を変更してJPEG形式に保存したデータの一部を示しています。

解像度の違い

解像度の違い

ちょっと分かりづらいかも知れませんが、ブラウザの表示倍率をあげて見ていただくと両者の違いが分かります。
以下は、この二つの画像を弊社のOCR変換製品『瞬簡PDF OCR』でテキストファイルに変換した結果です。

変換結果

変換結果

解像度が200dpiだと文字化けしてしまう箇所が、400dpiでは(完全ではないですが)おおむね正しく認識できていることが確認できます。

そうすると、もっと解像度を高くしてスキャンすれば更に良い結果が出せそうに思えます。ところが、これがさにあらず、なのです。
以下は、スキャナの設定を600dpiにして変換を行った結果です。

600dpiで変換

600dpiで変換

解像度を上げても、あまり変換結果に影響がないことが確認できるかと思います。
一般にOCR処理では、300~400dpiの範囲が適切なOCR結果を得る解像度だと言われています。それ以上解像度を上げてもファイルサイズが大きくなるばかりで、OCRの変換精度はあまり変わらないか、逆に悪くなってしまう場合もあります。ちなみに今回使用したJPEGデータの場合、400dpiのときのファイルサイズは約1.4MBですが、600dpiでは約2.7MBでした。

OCR処理を使って文字の取り出しを行う際には、スキャンの段階から適切な解像度を設定していただくことでより良い結果が得られます。ご参考にしていただければ幸いです。

※『瞬簡PDF 変換8』、『瞬簡PDF OCR』は製品の体験版を公開しております。是非、お試しください。


PDF/UA(ISO 14289-1)について(終)

PDF/UAの紹介の最後になります。

ここまで、ファイルフォーマットの要件、リーダの要件を記載しましたが、最後はAT(Assistive Technology:支援技術)の要件になります。

このATにはPDF/UAを使用するスクリーンリーダや、音声入力をサポートするデバイス、キーボード入力を容易にする装置、点字に変換して印刷するソフトウェアなど広範なソフトウェア、ハードウェアが含まれます。

ATに求めら得る要件とは、大きくは下記となります。

  • この仕様に定められた構造型、属性、値をユーザが好む方法で利用、表示できること、論理構造ツリーに属さないアーティファクトを処理する機能があること。
  • 準拠リーダが複数の表現方法で表示する場合、ATはユーザの選択する方法でその表現にアクセスすることを可能としなければならない。
    (この複数の表現方法とは、PDFのオプショナルコンテントあるいはレイヤーなどと呼ばれる機能を使用した表現方法のことです)
  • ナビゲーション機能として、以下をサポートする必要があります。
    • PageLabel数値ツリーを用いてナビゲーションする機能
    • 構造階層を用いてナビゲーションする機能
    • ドキュメントのアウトライン(Adobe Readerのしおり)を用いてナビゲーションする機能
    • ユーザ指定に応じたズーム機能

PageLabelとは、たとえば、目次部分は小文字のアラビア数字、本文はローマ数字といったページ番号を持つ文書がありますが、PDFでそのような表現をする機能です。ナビゲーションに、このPageLabelや、文書の章・項といった論理構造の階層情報を使用する機能が必要とされます。

ATの要件については、あまり詳細なことは定められていません。

以上、PDF/UAの紹介となりますが、フォーマットの要件部分で、関連仕様に W3Cの Web Content Accessibility Guidelines(WCAG) 2.0 があることを記載しました。
これまで説明したPDF/UAファイルの作成、使用の双方に必要とされる要件は、PDFファイルをW3Cの勧告であるWCAGに沿って利用するために必要とされるPDFの機能の使用方法となります。

PDF/UAの理解には、WCAG 2.0 (およびその関連ドキュメント)で解説される内容を理解する必要があります。
WCAGのW3Cの勧告は下記にありますので、興味のある方は参照ください。
http://www.w3.org/TR/2008/REC-WCAG20-20081211/
(日本語訳)
http://www.jsa.or.jp/stdz/instac/commitee-acc/W3C-WCAG/WCAG20/


PDF/UA(ISO 14289-1)について(3)

間があいてしまいましたが、以前のPDF/UAの紹介の続きになります。
PDF/UA(ISO 14289-1)について
PDF/UA(ISO 14289-1)について(2)

今回は、PDF/UAのリーダ側の要件をまとめてみます。

全体としては、ISO 32000-1:2008で定義されているドキュメントの論理構造とアーティファクトを処理する能力を持つこと、および、ATとのインターフェース機能を持つこと、とあります。

AT(Assistive Technologies:W3CのWCAG2.0の邦訳では「支援技術」という用語が使用されていました。)とのインターフェース機能とは、

  • 構造タグのタイプ、属性、およびキーの値に対するアクセスの提供およびオプショナルコンテントグループの可視状態を考慮した表示能力
  • アーティファクトをATが利用できるようにすること
  • ユーザインタフェースが存在する場合、それをATが利用できるようにすること

とあります。
(ここの「アーティファクト」ですが、PDFではドキュメントの著者によるオリジナルのコンテント(リアルコンテント)以外の、ページ付けやレイアウトのために生成されたオブジェクトをアーティファクトと呼んでいます)

以下、PDFの各オブジェクトに対して個別に記載されている要件となります。

テキスト

・論理的な読み込み順番をATデバイスが利用可能であること
・文字コードを適切に処理する能力があること
・自然言語、およびその変更をATデバイスが利用可能であること
表のセルが空である場合、その情報をATデバイスが利用可能であること
オプショナルコンテント
オプショナルコンテントを含む場合、複数の表現が選択可能となることがあるが、すべてのオプショナルコンテントを表示する手段を提供し、オプショナルコンテントコンフィギュレーション辞書の階層を表示する手段を提供すること
(このようなドキュメントの例として、多言語ドキュメントで、オプショナルコンテントを使用して、各言語別の表現をサポートしているようなドキュメントがあります)
添付ファイルと埋め込みファイル
  • 構造ツリーに存在していない添付ファイルを利用可能とすること
  • 埋め込みファイルの名称を表示するためにメカニズムを提供すること
デジタル署名
デジタル署名されていることをユーザに報告し、デジタル署名の証明書属性と有効性の状態を提示できること
アクション
アクションがドキュメントの可視状態を変更する場合、ATがその変更を利用できること
メタデータ
ドキュメントのCatalog辞書のMetadataストリームにおけるすべての要素をATが利用できること
ナビゲーション
論理階層構造やしおりを使用してナビゲートする機能を持つこと
注釈
各注釈の代替え記述をATデバイスに利用可能とすること
フォーム
ウィジェット注釈のテキスト記述をATデバイスに利用可能とすること
マルチメディア
動的にではなくユーザの要求に応じて再生すること

PDF/UAの読み手にはこれらの機能が必要とされています。


出力結果の PDF に勝手にリンクが作成されてしまう現象

AH Formatter 担当です。

AH Formatter から作成した PDF 内に
指定していない外部リンクが作成されているというお問い合わせをいただくことがあります。

たとえば文書内に
 http://www.antenna.co.jp/
といった URL を示す文言があり(確認用 PDF)、
それが勝手に外部リンクになっているという現象であれば、
ご使用の Adobe Reader や Acrobat の機能によるものと思われます。

Adobe Reader X でしたら、
[編集] – [環境設定] の「一般」にある「URL からリンクを作成」という項目が該当します。
ダイアログ

これをオフにすると URL の文字列が外部リンクになるという現象がなくなります。


知っておきたい便利なコワザ機能 -その2-

『書けまっせPDF』の知っておくと便利な機能を4回に分けて紹介していますが、今回、第2回目は「オブジェクト一覧」ペインを紹介します。

ページが複数あるPDFを編集する場合、各ページにテキストボックスや画像など様々なオブジェクトを挿入することになります。
しかし、編集途中で挿入したオブジェクトを修正したり、削除する場合、
オブジェクトを挿入したページまでスクロールして戻らなければならず、
大量のページがあるファイルなどでは若干面倒に感じます。

そんな時は「オブジェクト一覧」ペインが便利です。
「表示」メニューから「オブジェクト一覧ペイン」を選択すると
画面下部にオブジェクト一覧ペインが表示されます。

表示メニューから選択

表示メニューから選択

挿入したオブジェクトがページ毎に分かれて表示されます。
修正したいページの該当するオブジェクトをクリックするだけで
そのページに移動してオブジェクトが選択されますので、
すぐに修正や削除といった作業を行うことができます。

オブジェクト一覧ペイン

オブジェクト一覧ペイン

また、作成日付を指定してオブジェクトの検索を行ったり、
テキストボックスだけ、楕円だけといった
オブジェクトの属性を指定しての検索も可能です。

是非一度お試しください。


PDF/Aの作成方法(準拠レベルA)

今回は、PDF/A仕様に完全準拠となる準拠レベルAファイルの作成方法を紹介します。

前回記載しましたように、準拠レベルAでは元のドキュメントの論理構造を格納する必要があります。このため、仮想プリンタドライバでは準拠レベルA対応のファイルは作成できませんでした。
Microsoft Office のWord,Excel,PowerPointなどのPDF出力機能では、Officeのドキュメント内の情報から、準拠レベルAに対応したPDF/Aファイルを作成することができます。

●Microsoft Office
Microsoft Office 2010/2013のWord、Excel、PowerPointなどでは、直接PDFを作成することができます。このダイアログ内で「ISO 19005-1に準拠(PDF/A)」というチェックボックスがあり、これを指定することで、PDF/A-1ファイルが作成されます。

Microsoft Word 2013のPDF保存用のオプション指定ダイアログ

Microsoft Word 2013のPDF保存用のオプション指定ダイアログ

明確な記載を見つけることができませんでしたが、「アクセシビリティ用のドキュメント構造タグ」チェックボックスをチェックするとPDF/A-1a、チェックをはずすとPDF/A-1bファイルとなるようです。

●Microsoft用PDFMaker
アドビシステムズのAcrobat XIをインストールすると、Microsoft OfficeのWord、Excel、PowerPointなどにPDFMakerというPDF作成用のアドインプログラムが組み込まれます。これを使用すると、仮想プリンタドライバのAdobe PDFでは作成できなかった準拠レベルA対応のPDF/Aファイルを作成することができます。

Microsoft Wordに組み込まれるPDFMakerの設定ダイアログ

Microsoft Wordに組み込まれるPDFMakerの設定ダイアログ

こちらでは、PDF/A-2a、PDF/A-2b、PDF/A-3a、PDF/A-3bも作成可能になっています。PDFMakerには「ソースファイルを添付」として、元のWord文書をPDF内に格納する指定があります。以前紹介しましたように、PDF/A-3では、ファイル内に他形式のファイルの格納を認めており、PDF/A-3選択時には、このチェックボックスを指定して、元文書をPDF/Aファイルに添付することができます(PDF/A-1では添付ファイルは禁止、PDF/A-2ではPDF/A以外の添付ファイルは禁止されているため、このチェックボックスはグレーアウトし、指定することができません)。この箇所が、PDF/A-2とPDF/A-3の大きな違いと言えます。

当社製品では以下の製品がPDF/A-1aの出力をサポートしています。
・Antenna House Formatter V6

今回紹介した製品にはレベルUの出力を指定できるものがありません。レベルUはレベルBの仕様に、出力される文字とUnicodeの対応付けをPDF内に格納することを追加したものですが、仮想プリンタドライバ、Officeなどからの直接出力のいずれの場合でも、レベルBを指定しても、この対応付けはPDF内に含めて出力されています。

以上、PDF/Aファイルの作成方法をいくつかまとめてみました。


Pages: Prev 1 2 3 4 Next