2008年06月24日

ASPによるPDF変換

先日、オンラインのOfficeからPDF変換サービスを見ていましたら、PrimoOnlineは、どうやらPDF変換は、Microsoft Officeではなくて、弊社の「サーバベース・コンバータ」と同じような、Officeコンパチの組版エンジンを使っているらしいことに気がつきました。

一般的に言って、サーバサイドでOffice文書をPDFに変換するには、次の2通りがあります。
(1) Microsoft Officeをサーバサイドで自動的に動かしてPDFのDriverまたはOffice2007のSaveAs機能でPDFを生成させる。

(2) Microsoft Officeと互換のページ組版ソフトを、サーバサイドで動かして、PDFを作成させる。

Microsoft Office文書をPDF化してできたPDFのページが、Microsoft Officeの印刷結果と同じかどうかというページ再現性を考えますと、(2)の方式よりも(1)の方式の方が良いことは明らかです。(2)方式ではPDFのページがMicrosoft Officeの印刷結果と同じにならないことがままあります。

しかし、SaaSのOffice→PDF変換を(1)方式で実現しようとしますと、Microsoft との間で特別なライセンス契約を締結し、Officeの使用料を支払う必要があると思います。有償のサービスであれば、これも可能と思いますが、無償のサービスで使用料を支払うのはつらいでしょう。

そこで、(2)方式を選択することになります。

(2)方式のために使えるMicrosoft Office互換PDF変換エンジンは、世界にそんなに沢山はありません。PrimoOnlineは一体どれを使っているのかな?と思い、PDFのプロパティを見てみました。

PrimoProperty.PNG

「Created by PDF360」となっています。どこの変換エンジンでしょうか。

弊社のサーバベース・コンバータと比較してみました。
1.オリジナルをWord2003でプレビュー表示
Word2003Preview.PNG

2.Word2003からAntenna House PDF DriverでPDF出力
◎Adobe ReaderでPDFを表示
Word2003%2BAHPDFDrv.PNG

◎オリジナルPDF
ファイルをダウンロード

PDF DriverでPDFを作成すれば、PDF化した結果は、Word2003の印刷と同じです。

3.PrimoOnlineでPDFに変換
◎Adobe ReaderでPDFを表示
Primo.PNG

◎オリジナルPDF
ファイルをダウンロード

PrimoOnlineで作成したPDFは、改ページの位置がかなりずれています。

4.サーバベース・コンバータ(SBC)V2.0ベータでPDFに変換
次に、SBCでもPDFに変換してみました。

◎Adobe ReaderでPDFを表示
SBCv2.PNG

◎オリジナルPDF
ファイルをダウンロード

改ページの位置は、Word2003で印刷した場合と同じです。

この文書をPDF化した場合は、PrimoOnlineよりも、SBCの方が変換の再現性は良くなっています。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2008年06月01日

PDFページの一部領域をコピーして別のPDFを作りたい

PDFを紙のように切り貼りできたら、とても便利だと思います。

先日、弊社の製品で、そのようなことのできるものがないかと、ご質問を受けました。弊社の製品には、そのような機能を実現している製品はありません。

作るとしますと、(1)PDF Viewer SDKを使ってPDFを表示し、(2)表示中の画面中の領域をマウスなどで指定し、(3)指定範囲を選択してイメージ(BMP)画像としてクリップボードなどに取り出し、(4)イメージ画像をPDF化する、という機能であれば、比較的簡単に実装できるでしょう。

しかし、これでは指定した領域から作成したPDFはイメージ画像になってしまい、拡大・縮小すると鮮明でなくなることがあります。

○指定した領域をベクトルで取り出すことはできないでしょうか?

残念ながら、これは不可能ではないにしてもかなり難しいようです。

Acrobatでは類似の機能に、トリミングツールがあります。しかし、このトリミング・ツールは、指定領域外を非表示にしているだけで、指定領域の範囲内で新しいPDFを作っているわけではないと説明されています。

少し、実験してみました。

1.AcrobatでPDFを開き、トリミング・ツールを選択して領域を指定します。
200806011.PNG

2.ダブルクリックしますと、確認ダイヤログがでます。
20080601.PNG

3.確認して「OK」ボタンを押しますと、指定した領域だけが表示されます。
200806012.PNG

この段階では、あくまで、指定領域外のデータを見えなくしているだけで、データが無くなっている訳ではありません。ファイルサイズを確認しても特に小さくなる訳ではありません。

3の表示状態で、2.のダイヤログを表示して、「余白を制御」の「ゼロに設定」のボタンを押しますと、1.の表示に戻ってしまいます。このように、トリミング機能は元に戻りますので、指定領域だけのPDFを作っている訳ではないようです。

但し、Acrobat Professionalの文書の検査機能を使いますと、非表示のオブジェクトの削除ができます。
4.トリミングして保存したPDFで文書の検査機能を使用
200806013.PNG

5.「チェックした項目をすべて削除」ボタンを押します。次のような確認ダイヤログがでますので、OKとします。
200806014.PNG

6.5で非表示のオブジェクトを全て削除した状態のPDFを保存します。そして、「ゼロに設定」しますと、次のように文字列が削除されていることが分かります。
200806015.PNG

非表示のオブジェクトの削除機能の用途は、例えば、文書を相手に渡すときに、余計な情報がないかどうかをチェックして、余分な情報を削除するためのもの。指定の領域だけで、新しいPDFを作るという目的に使うものではないように思います。

また、PDFを自由自在に切り貼りできるようになってしまうと、著作権侵害の問題が起こるかもしれません。やはりPDFはあまり簡単に再利用できない方が安心?

投稿者 koba : 08:00 | コメント (0) | トラックバック

2007年12月19日

PDF 作成方法による速度比較

2007年12月14日 「書けまっせ!!PDF3」12月下旬発売します。

で、「書けまっせ!!PDF2」と「同3」でPDFの作成方法を、Windowsの印刷機能を利用するPDF Driver方式からPDFを直接出力する方式に変更したので、PDF作成速度が体感として速くなったとお話しましたが、実際に計測して比較して見ました。

結果は、次の通りです。
(1)デジタル方式で生成した40ページのPDF(ExcelからPDF Makerで作成)
・「書けまっせ!!PDF2」だと、PDFを3回出力した所要時間平均:15.8秒
・「書けまっせ!!PDF3」だと、PDFを3回出力した所要時間平均: 4.7秒

(2)アナログ方式(スキャナ)で作成した2ページの画像PDF
・「書けまっせ!!PDF2」だと、PDFを3回出力した所要時間平均:4.7秒
・「書けまっせ!!PDF3」だと、PDFを3回出力した所要時間平均:4.8秒

これでみますと、やはりPDFDriverで作成するほうが、時間がかかるようです。

なお、所要時間とは、PDF出力開始から、Adobe Readerで出力したPDFを表示するまでの時間のことで、4秒程度の所要時間は、Adobe Readerが消費しているのではないかと思います。

いづれにせよ、「書けまっせ!!PDF3」の方が、PDF作成速度はかなり速くなっていることが、数字でも分かりました。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2007年12月01日

PDF出力時の改ページ位置のずれ

Antenna House PDF Driverを使って、PDFを作成するシステムを作っているお客様から、ExcelのファイルをPDF化すると、改ページ位置がずれてしまうが何とかならないかという問合せが来ました。

確かに、Excelファイルをプレビューしたとき、手元のプリンタ(私が普段使っているのはCanonのMP500というパーソナルなプリンタです)と、PDF DriverでPDFに出したときで改ページの位置が1ページあたり1行ずつずれてしまいます。社内の他のプリンタでも、PDFと改ページ位置がずれるようです。

調べてみますと、Antenna House PDF Driverの代わりにAdobe PDF (8.1)のドライバを使っても全く同じようになり、実際のプリンタで出すのと比べて、PDFでは1ページあたり1行ずつ改行位置がずれていきます。

お客様は、この問題にかなり困っているようですので、弊社の担当者もいろいろと調べていました。
Adobeのサポートにも、同じような問題の報告が寄せられているらしく、次のような情報があります。

○Excel から PDF ファイルを作成する際の推奨事項(Windows 版 Acrobat 6.0/7.0)
http://support.adobe.co.jp/faq/qadoc/AJ25.nsf/0/2fedaa08c10ea9a449256d420049b1d7?OpenDocument

このページには、次のような注意事項が書かれています。
----------------------
Excel ではページ設定および使用可能なフォントを「通常使うプリンタ」のプリンタドライバ用に適用するため、「通常使うプリンタ」を変更することによって文書のフォーマットが変更されてしまう場合があります。Excel 文書が別のユーザによって、または別のコンピュータ上で作成される場合は、Adobe PDF プリンタを「通常使うプリンタ」に設定してから文書を作成するように、文書の作成者に依頼してください。
----------------------

これについては、マイクロソフトのWebページに、さらに、詳しい解説があります。

http://support.microsoft.com/kb/400271/ja
 [XL2002] 異なる環境で印刷範囲やセルの幅や高さが変わる場合の対策

http://support.microsoft.com/kb/881233/ja
 別のコンピュータでファイルを開くと画面表示や印刷結果が異なる場合の注意事項

要するに、Excelの場合、文書を表示・印刷するときのページのレイアウトの計算を高速に行うために、セル幅やセルの高さ、文字の大きさの計算を簡略化しているため、ページのレイアウト結果が、環境(ディスプレイやプリンタ・ドライバ)に依存するようになっているようです。

このため、プリンタ・ドライバを変更するとページのレイアウトが変わってしまうことが往々にしてあるようです。

どうも、各社のPDFドライバは同じようにPDF作成時の改ページ位置が、物理的なプリンタ装置の場合と違う傾向があるようです。物理的なプリンタ装置では、完全に紙の縁まで印刷することはなく、周囲に印刷できない領域がありますが、PDFドライバは論理的に計算するものですので、装置の特性で印刷できない領域がないということが、影響しているのかもしれません。

原因は、何にせよ、Excelの場合は、改ページの位置が変わる傾向がありますので、文書を作るときに、印刷に使用するPDFドライバを、「通常使うプリンタ」に設定するように注意しないといけないと思います。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2007年10月07日

CSS組版でPDFができる

XHTMLで公開されている、CSS2.1の仕様書を、CSSを使って組版してPDF化したファイルが公開されました。

CSSの提唱者であるHåkon Wium Lie さんがPrinceで作成したものです。こちらからダウンロードできます。
http://www.princexml.com/howcome/2007/css21/css21.pdf

ブラウザで印刷するよりは遥かに綺麗です。
このPDFのレイアウトを指定するためのCSSスタイルシートも公開されています。

http://www.princexml.com/howcome/2007/css21/forprint.css

これを見ますと、W3Cの仕様書のようなものであれば、CSSを使って組版してPDF化することが十分に実用的であることが分かります。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2007年06月29日

PDFについてのQ&A — PDFのフォント埋め込みと著作権

先日、PDFのフォント埋め込みについてお話しましたところ、「フォント埋め込みは仮に部分埋め込みであっても著作権侵害にあたるのではないか」、というご質問をいただきました。そこで、この問題について考えて見ます。

まず、前提としてフォントに著作権があるのかということですが、これについて判例もあります。

海賊版フォントに対する判決
プログラムとしてのフォントデータの著作権を対象
平成16年5月13日 大阪地裁 平成15年(ワ)第2552号 著作権侵害に基づく差止等請求事件
モリサワ勝訴
出典:http://www.translan.com/jucc/precedent-2004-05-13b.html

私は法律の専門家ではありませんが、フォントのデザインに万一著作権がないと仮定しましても、アウトラインフォントはプログラムとデータから成り立っていますし、プログラムと同じように著作権で保護されてしかるべきと考えています。

ビットマップフォントについても、以前に「2006年10月17日 Google Docs/Spreadsheetsを初体験(4) — Kochi-Mincho」でもお話しましたように、ビットマップフォントを無断で複製したことにより、「東風明朝」の制作・配布活動が中止になった例もあります。

マイクロソフトは、Windowsに同梱しているフォントについて、次のページで著作権の取り扱いについて告知しています。
Copyright : マイクロソフトの著作物の使用について

マイクロソフトは、フォントには著作権があると判断していると見られますが、日本語フォントの取り扱いについては「フォントの再頒布や、お客様のソフトウェアでの使用等の権利処理については」フォントベンダーに相談して欲しいと述べています。また、英文フォントについては各フォントの著作権者に相談して欲しいと述べています。

このようなことからフォントについては著作権法が適用されると考えるのが妥当と思います。PDFへのフォント埋め込みは、明らかに、フォントのグリフデータ(アウトラインデータ)の複製と再頒布にあたります。従って、著作権者の許可なくフォントの埋め込みを行えば権利侵害と看做されることになるでしょう。

では、PDFのフォント埋め込みでは、この問題をどのように解決しているのでしょうか?

まず、日本タイプグラフィ協会は、「電子ドキュメントデータへのフォント埋込み機能に対するタイプフェイス/フォントの権利保護に関する声明書」を出しています。
出典: http://www.typo.or.jp/info/morals/moral4.html

これによりますと、概要は、次のような声明になります。
(1) ユーザの立場においては、フォントの埋め込みは非常に有効かつ利便性が高い技術革新と言えます。
(2) 配布されたPDFに埋め込まれたフォントセットのプロテクトを外して使用し、編集・校正することは、新たな文字組みを行うことになり、タイプフェイスの複製行為が行われることを意味します。
(3) 埋め込まれたフォントセットにより、タイプフェイスの複製・改変・二次的使用がより一層簡単となります。

従って、ユーザは、「埋め込んだフォントを用いて編集・校正などの新たな文字組を行う行為」、フォント埋め込みを不可としているタイプフェイス権利のフォントを埋め込まない、フォントが埋め込まれたPDFを配布するに際して、当該フォントの使用許諾契約書に従うこと、を求めています。

また、PDFへフォント埋め込み機能を有するプログラムの供給者に対しては、ユーザに対して禁止されている行為を助けるようなソフトウェアを開発しないことを求めています。

では、PDFへのフォント埋め込みの提唱元であるアドビはどうなっているのでしょうか?アドビは自社でも多数のフォントを制作して販売しています。

アドビのWebページには、フォントのライセンスについての情報が掲載されています。
アドビ製フォントライセンス契約に関するFAQ(よくあるご質問)
ここにフォント埋め込みに関する項目があります。
そこでは、「アドビからライセンスを受けたすべてのフォントは、電子ファイルに埋め込みが可能です。」という一文があります。その後ろに「しかし。。」として幾つか細かい条件が記述されていますが、原則として、埋め込みして配布するだけであれば問題ないようです。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2007年06月27日

PDFについてのQ&A —PDF のサイズを小さくするには?

Antenna House PDF Driver から PDF 出力をする際に、PDF のファイルサイズを小さくするにはどうすればよいのかという質問を受けることがあります。PDF Driver ではこういった要望にお応えするために「サイズ優先」と「サイズ優先(PDF1.5以上)」のふたつの設定ファイルをご用意しています。

PDF のファイルサイズ軽減のポイントとなるのは、「フォント」と「画像」の扱いですから、ファイルサイズを小さくしたいのなら、「フォントを埋め込まない」、「画像をダウンサンプリングしてから圧縮する」という方法が一般的になります。

先に挙げた PDF Driver の設定ファイルは両方とも「フォントを埋め込まない」設定にしてありますが、画像の処理については少し異なります。「サイズ優先」では、個々の画像についてダウンサンプリングを行った後、ZLIB(ZIP)圧縮と JPEG 圧縮の双方を試みて、サイズのより小さいものを選択します。「サイズ優先(PDF1.5以上)」ではダウンサンプリングを行った後、圧縮の比較に ZLIB(ZIP)圧縮と JPEG2000 圧縮を使用します。

ただし、これらを行うことによりたしかに PDF のファイルサイズは小さくなりますが、デメリットとして、
・フォントを埋め込んでいないため閲覧者の環境によっては異なった見映えになってしまことがありますし、
・画像圧縮後にファイルサイズの比較を行うという処理のために PDF の出力時間が多く掛かってしまします。
・また、画質もオリジナルと比較して劣化してしまいます。

しかし、それでもこれらが大した問題とならない場合には、特にメールやネット上での配布時に、ファイルサイズをより小さくした PDF を作成して配布するというのは、受け取る側への配慮として必要なように思えます。


投稿者 numata : 08:00 | コメント (0) | トラックバック

2007年06月06日

ウェブに公開した PDF の保存を禁止する。

PDF をウェブに公開した際に、ユーザのコンピュータに保存できなくしたいというご要望をしばしばお受けしますが、通常、ブラウザで表示される際にはすでにローカルにキャッシュされていますので、これは難しい話です。

それでも、抑止的な方法(裏技?)ならあります。それは Acrobat プラグインの「メニューバー」、「ツールバー」を非表示にするという方法です。

 「メニューバー」、「ツールバー」を非表示にした PDF

この方法を使用した PDF はネット上で見かける機会がありますが、これに加えてさらに JavaScript を使用してブラウザのメニューバー等を非表示にした状態で PDF を表示をさせているサイトも見かけます。どのサイトも意図しているのは、閲覧のみにしたいということでしょう。

たしかに、「メニューバー」、「ツールバー」の表示 / 非表示を PDF の設定で切り替えることができるのをご存知ない方が対象でしたら、これらは効果的だと思いますが、実際のところこの PDF は「メニューバー」、「ツールバー」を非表示にしているだけですから、それを表示する方法もありますし、Acrobat にもショートカットとして記載されています。

 【F8】ツールバーの表示 / 非表示
 【F9】メニューバーの表示 / 非表示

先ほど開いた PDF もショートカットを使用すれば見慣れたレイアウトに戻ってしまいます。

残念ながら、現在のところ件名の要望に完全にお答えする方法はないようです。

投稿者 numata : 08:00 | コメント (1) | トラックバック

2006年12月13日

プロポーショナルフォントを使用した縦書き文書

Word 等でプロポーショナルフォントを使用した縦書き文書を Antenna House PDF Driver から PDF 出力し、Acrobat(Acrobat 8 Pro)で表示すると、次のキャプチャのように文字がきれいに揃いません(「MS P明朝」を使用しています。目立つ部分を赤い丸で囲ってあります)。

 

この問題ですが、どうやら Acrobat の表示の問題のようです。Acrobat 6 ではこの問題は発生せず元文書どおりに表示されますが、Acrobat 7 や 8 で表示すると上図のようになってしまいます。これは PDF Driver から出力した PDF に関わらず、Acrobat の Adobe PDF から作成した PDF でも再現してしまいます。

プロポーショナルフォントですので、縦書きに使用するべきではないのかもしれませんが、どうしても使用するのでしたら、フォントを埋め込めばとりあえずこの問題は回避できるようです。


(フォントを埋め込んだ例)

投稿者 numata : 08:00 | コメント (0) | トラックバック

2006年05月17日

さまざまなPDFの作成技術の概観

主に、「PDF千夜一夜」でPDFの作成方法のカテゴリーの話題を集めて整理してみました。

こちら「さまざまなPDFの作成技術の概観」でお読みいただけます。

整理の過程で、まだ、書き足らないことが多いな、と感じました。

現在は、デスクトップPDFよりもサーバサイドでのPDF生成が重要な課題になっているように思います。

しかし、ブログでは、サーバサイドPDFの作成については中途半端な状態になっていたように思いましたので、全部削除してしまいました。

近いうちに、サーバサイドPDFについて、少し調べてみようと思っています。

投稿者 koba : 08:00 | コメント (1) | トラックバック

2006年02月21日

iText的なPDF生成

TheServerSideというJAVA専門のコミュニティ・サイト(英文)があります。ニュース、ブログ、討論、ホワイト・ペーパー、レビューなどからなるサイトですが、ここで、PDFを検索すると774件がヒットします。
iTextは45件
FOPは55件
FOPというのは、XSL-FOを使ってPDFを生成するJAVAのライブラリーで、Apacheのプロジェクトなので非常に有名な存在です。
※FOPはあまり出来の良いものではありませんのでお勧めしません。有名なだけです。

それにしても、JAVAの世界で、iTextがFOPに近いくらいポピュラーな存在だと初めて知りました。

ここを見ていましたら、FOは複雑なので、iTextを薦めるというような話、あるいは、XSL-FOはあまり普及していないというような意見がちらほらとあります。

XSL FO
例えば、struts とenterprise java beansで作ったWebアプリケーションからXSL-FOを使ってPDFをダイレクトに生成したいんだけど、誰か教えてくれる?

これに対して、FOPは複雑。スタイルシートを作るのに苦労するよ、というコメント。

iTextでやってうまくいったと報告。

というようなものです。これを見ると、iTextとXSL-FOというのはサーバサイドでPDFを生成する手段として競合しているようにも思えます。

私の見たところ、iTextのオブジェクトは原始的過ぎて、もし、iTextで高度なレイアウトを実現しようとすると生産性が低いのではないかと思います。簡単な帳票のようなものを出すだけでも、きちんとレイアウトすると結構大変じゃないかなと思うのですが。
でも、JAVAプログラマの人達には、XSL-FOというのは、却って複雑なんでしょうかねえ。某航空機メーカのように両方を組み合わせて使っているケースもあります。この場合は、XSL-FOでできないことをiTextで補足しているわけです。

いづれにしても両方を理解しないと、適材適所の判断は難しいでしょう。そこで、少し詳しく、iTextによるPDF生成とXSL-FOとを比較して見ようと思います。

1.PDFの生成手続き
(1) iTextでは、次のようになります。
ステップ1.ドキュメント・オブジェクトを生成
ステップ2.Writerオブジェクトを生成
ステップ3.ドキュメントをオープンする。
ステップ4.出力する内容を追加する。
ステップ5.ドキュメントをクローズする。メモリの内容がフラッシュされて出力ストリームにデータが書かれる。

(2) XSL-FOを使う場合の仕組みは、iTextとはかなり違っています。入力と出力を指定してXSL-FO組版エンジンを呼び出す形になります。入力はXMLとXSLスタイルシート、またはXSL-FOになります。

XMLとXSLスタイルシートが入力になった場合は、第一ステップでXSL-FO組版エンジンの中でXMLとXSLスタイルシートからXSL-FOが生成され、第二ステップでXSL-FOからPDFへの変換が行われることになります。

JAVAプログラマから見た時、iTextでは、PDFの内容をプログラマがiTextのオブジェクトとして手続き的に追加していきます。これに対して、XSL-FOの場合は、全てをXSL-FOのオブジェクトとして作成した上で入力しなければなりません。このためには、XSL-FOのオブジェクトの種類とそれがどのようにレイアウトされるかについての知識が必要です。XSL-FOのオブジェクトについて十分な知識が必要になる、と言う点がプログラマにとってはかなり高い障壁になっているように思います。この点、iTextは、今すぐにでもできそうで、プログラマにとっては参入障壁が低そうです。

投稿者 koba : 08:00 | コメント (1) | トラックバック

2006年02月17日

GDIをバイパスして高精細なPDFを作成 – PDFの作成方法(23)

PDFの中で線の幅は、論理的な寸法指定で表現します。従って、極論すればコンピュータで扱うことのできる数値であればどんな細い線でも表現することができます。

しかし、一方、Windowsのアプリケーションでは表示・印刷デバイスはGDIを経由して取り扱う必要があり、GDIでは解像度によって表現できる精度に限界があることを説明しました。

では、2月13日に示しましたような、線幅0.01ポイント(0.0035mm)というような細い線をPDFに正しく設定するにはどうしたら良いでしょうか?

方法は、二通りあります。
(1) PostScriptプリンタ・ドライバを使ってPostScriptを出力し、PostScriptからPDFを生成する。但し、アプリケーションはGDIをバイパスしてPostScript命令を直接出力できること。
(2) アプリケーションからGDIに関係なく、直接PDFの命令を出力してPDFを作成する。

前提条件として、(1)、(2)ともアプリケーションが、GDIをバイパスして出力する機能を実装している必要があります。従って、任意のアプリケーションでできるという訳ではありません。

アンテナハウスのXSL Formatterは、上の(1)、(2)の両方の方法を実装しています。

図1 GDIと関係なくPDF生成ライブラリーの関数(API)を使ってPDFを出力
PDFCreator.PNG
アンテナハウスのPDF生成ライブラリーはOEMで提供しています。関心をお持ちの方は、oem@antenna.co.jp までどうぞ。

図1の方法で出力したPDFファイル:Download


図2 PostScriptプリンタ・ドライバに対して直接PostScriptを出力
DirectPostScript.PNG

図2の方法で出力したPDFファイル:Download
※このPDFはAcrobatのプリンタ設定を72dpiにしてみましたが、それにも関わらず、細い線も精確に出力されます。拡大することで確認できます。

PostScriptプリンタというのは、Windowsでは別格の扱いになっていますので、このようなこともできるのですね。また、アプリケーションからAcrobatをPostScriptプリンタ・ドライバとして認識できますので、GDIをバイパスして、Acrobatにどんな細い線幅でも出力することができます。昨日の出力試験では、Microsoft Wordはそれをやってないようなのですが。これは謎です。

いずれにしても、上のいずれかの方法を使えば、WidnwosでGDIの機能的制約を受けることなく、PDFで設定可能な機能を自由に使いこなしたPDFを作成できることになります。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2006年02月16日

Acrobatの解像度設定 – PDFの作成方法(22)

話は、2006年02月14日の – PDFドライバの解像度に戻りますが、Acrobatの解像度設定についてチェックしてみます。

まず、Microsoft Word2003で作成した細い線幅(1/4ポイント、1/2ポイント、3/4ポイント)の3種類の線種が、解像度設定でどう変わるかをチェックしてみましょう。

ややこしいことに、Acrobatで解像度を設定するダイヤログは、ジョブ設定のダイヤログプリンタの設定のダイヤログの2箇所にあります。

・Acrobat 7の ジョブ設定のダイアログ 
 図1
cap1.gif

・Acrobat のプリンタの設定
図2 プリンタのプロパティダイアログからレイアウトタブの詳細設定ボタンで表示されるダイアログです。
cap2.gif

まず、ジョブ設定の解像度を600dpiに固定して、プリンタの設定の解像度を72dpi、144dpi、300dpiに変更してPDFを作成してみました。これをAdobe Readerで300%拡大表示したのが次の3つの図です。

図 プリンタ設定72dpi ジョブ設定 600dpi
Acrobat-72-600.png

図 プリンタ設定144dpi ジョブ設定 600dpi
Acrobat-144-600.png

図 プリンタ設定300pi ジョブ設定 600dpi
Acrobat-300-600.png

この3つの図を見ますと、プリンタ設定を72dpi、144dpi、300dpiに変更すると各線の太さが少しずつ変わり、300dpiではもっとも精確にPDFに出力されていることがわかります。つまり、プリンタ設定72dpi、144dpiでPDFを作成すると線種が指定した太さで出力されていません。このことから、Microsoft WordはAcrobatでPDFを出力するとき、AcrobatをPostScriptプリンタとして看做して、線種を精密に出力する処理を行っていないという推定が成り立ちます。言い換えると、Microsoft WordはAcrobatをGDI型プリンタ・ドライバとして認識しているということになります。そうなんだろうか?

なお、プリンタ設定600dpiでジョブ設定を72dpiしてPDFを出力したものを、Adobe Readerで300%拡大表示すると次のようになります。

図 プリンタ設定600pi ジョブ設定 72dpi
Acrobat-600-72.png

ジョブ設定の解像度を最小値72dpiにしても線の太さへの影響はありません。どうも、ジョブ設定の解像度は線種には影響がないようです。Acrobat のヘルプの記載では、ジョブ設定はPostScriptからPDFにする時点で機能するようで、WindowsのGDIには影響を与えていないことがわかります。

投稿者 koba : 08:00 | コメント (1) | トラックバック

2006年02月14日

PDFの作成方法(21) – PDFドライバの解像度(続き)

昨日は、Windowsのプリンタ・ドライバとしてPDFを出力するソフト(アンテナハウスPDFドライバなど)の場合、解像度設定値によっては、出来あがるPDFの中で、線の太さが正しく表現されるかどうかに影響がでることを示しました。例えば、Microsoft Wordで設定できる最小の太さの線は、1/4ポイント(約0.09mm)です。この線を表示するのには、最低でも300dpi以上の設定が必要です。

このようなことは、アプリケーションはWindowsのGDIの機能を使って描画し、PDFドライバは、描画のデータをGDIから受け取ってPDFを作成するので、その過程で生まれるものです。

昨日の例で言いますと、Microsoft Wordを使って、1/4ポイント、1/2ポイントの線を、72dpiの設定でPDF化したとき、線の太さが正しく表現できていないとがわかりました。Microsoft Wordは、これらの線を72dpiでは印刷できないことを知っていて、ドライバの設定が72dpiの時は線を太くして出力しているものと思います。

図 GDI型のPDFドライバの解像度設定の仕組み
ResolutionSetting.PNG

ちなみに、AcrobatのようなPostScriptプリンタ・ドライバ型のPDF作成ソフトを使ってPDF化する時、(アプリケーションによっては)解像度設定の影響を回避することが可能です。

この理由は、PostScriptプリンタはWindowsで特別扱いされているので、アプリケーションはGDIを経由しない(バイパスして)で、PostScriptの命令をプリンタに直接出力することができるからです。このことは、2005年11月18日 PostScriptプリンタドライバとGDI型PDFプリンタドライバの相違で少し触れました。PostScript命令では、線の太さなどはドット単位ではなく論理的な寸法になりますので、精度の高い出力が可能です。

なお、PostScriptプリンタ・ドライバを認識し、GDI型のプリンタ・ドライバへの出力との切り替えを行うのはアプリケーションの役割です。つまり、技術的には可能ということであって、実際に、全てのアプリケーションが、PostScriptプリンタドライバを認識して、特別な処理をしているとは限りません。PostScriptプリンタ・ドライバを使ったからといって、常に精度が出るわけではなく、あくまで使用しているアプリケーションがPostScriptをうまく出力しているかどうかに依存するということです。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2006年02月13日

PDFの作成方法(20) – PDFドライバの解像度

2005年11月18日にPostScriptプリンタドライバとGDI型PDFプリンタドライバの相違について、WindowsのGDIの影響を受けるかどうか、という違いがあることを説明し、具体的な例として、カラーの処理を挙げました。

今日は、もうひとつの例として、解像度の問題を取り上げてみます。

Microsoft Windows、及びそのアプリケーションはディスプレイやプリンタを統一のGDI (graphics device interface)という機能を使って扱っています。アプリケーションが、直接、プリンタやディスプレイなどの物理デバイスに出力することはできません。原則としてGDI経由の出力になります。

プリンタでの印刷やディスプレイなどの表示デバイスには解像度という表示能力を表す尺度があり、dpiという単位で表します。dpiとはインチあたりのドット数の略です。デバイス上の1ドットは物理的なものです。これに対して、WindowsGDIの上では画像は1ピクセル単位で処理します。ピクセルというのは論理的なものですので、実際の出力ではGDI上のピクセルがデバイスのドットに割り付けられます。この割付はWindowsやデバイス・ドライバの役割となります。(以下、ここではとりあえず、ドットとピクセルを区別しないで考えます。)

GDI上で線を引くときは、ピクセル単位の塗りつぶしで表現します。ですので、次の図のように、GDIの上で表示できる線の最小の太さは1ピクセル幅ということになります。これは、デバイスの上では1ドット幅の線に相当します。

図 表示できる最小の線幅
BitmapDisplay.PNG

ここから予想されることは、アプリケーション・ソフトが細い直線を引いたとしても、GDIを経由する限り、それを実際にディスプレイの画面に表示したり、物理的なプリンタに出せるとは限らないということです。

実例で試してみましょう。まず、直線の太さを0.01ポイントから少しずつ太くしていくようなデータを作ります。

表示に使用するWindowsのディスプレイは、96dpi(1インチに96ドット)の解像度に設定してありますので、このディスプレイの上の1ドットの大きさは、(72ポイント/1インチ)÷(96ドット/1インチ)=0.75ポイントとなっています。
∵1インチは72ポイント。96dpiは1インチに96ドット。

1ポイントは約0.35mmですので、100分の1ポイントは、0.0035mmに相当します。このような細い線を指定できるWindowsアプリケーションは少ないと思いますので、普段はあまり眼にしたことがないかもしれません。XSL Formatterを使って、この線を表示してみます。

図 Windowsの画面にどの位の太さの線を表示できるか
BitmapDisplay-0214.PNG

この表示結果を見ますと、Windowsはディスプレイ上の1ドット相当よりも細い線も画面に表示しているようです。但し、細い線は正しく表示できていないことが理解できます。これは、ディスプレイの物理的な表示能力を超えているのですから、まあ、やむを得ないともいえます。(2006/2/14削除)

この表示結果を見ますと、Windowsは、ディスプレイ上で1ドット相当よりも細線も表示しています。これは、WindowsのGDIは1ドット相当よりも細い線については1ドットにして表示するためだそうです。(2006/2/14挿入)

解像度に応じて、ドットの大きさがどの位になるかを次の表に示しました。ディスプレイと比較しますとプリンタの解像度はもっと大きいのが普通です。通常のプリンタですと300dpiから600dpiでしょうか。例えば、600dpiのプリンタでは1ドットの大きさは0.12ポイントとなります。

DPI 1ドットの幅(単位:ポイント)
72 1.00
96 0.75
144 0.50
300 0.24
600 0.12
1200 0.06
2400 0.03

さて、例えば、Microsoft Word2003の罫線は、細いほうから1/4ポイント、1/2ポイント、3/4ポイントが設定できます。そうしますと、上の表から、この太さの線を正しく表示するのには、最低限600dpi、144dpi、72dpiの解像度が必要ということになります。

次に、実際に試して見ましょう。
Microsoft Word2003で、1/4ポイント、1/2ポイント、3/4ポイントの太さの罫線を引きます。

Wordの画面(200%に拡大)は次のようになります。

図 Wordの画面(200%拡大)
Word1-Original.PNG

・200%拡大しても1/4ポイント、1/2ポイントの線の太さは画面上で識別できません。

これをWordからアンテナハウスPDFドライバを使って、解像度設定を72dpi、300dpi、600dpiに設定してPDFを作成します。これを、Adobe Readerで300%に拡大して画面に表示します。

図 GDI型PDFドライバの解像度72dpiの時のPDFの線の太さ
Word1-AHPDF-72dpi.png

・72dpiでは3種類の線の太さを識別できていないことがわかります。

図 GDI型PDFドライバの解像度300dpiの時のPDFの線の太さ
Word1-AHPDF-300dpi.png

・300dpiではPDFの上でも3種類の線の太さが判別できます。

図 GDI型PDFドライバの解像度600dpiの時のPDFの線の太さ
Word1-AHPDF-600dpi.png

・600dpiは、画面上で拡大してみる限り、300dpiとあまり変わりません。

この3つの例から、GDI型PDFドライバでPDFを作成するとき、正しく表示できる線の太さは解像度設定によって変わることがわかります。これはGDI型PDFドライバは、WindowsのGDIの仕組みに依存しており、GDIがドット単位での処理を行っているためです。大雑把に言えば、どのGDI型PDFドライバでも似たような結果になるはずです。

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年12月11日

PDFの作成方法(19) – まとめ

PDFの作成方法について、ひとまず、次の表のように整理しておきます。

アンテナハウス製品について、ブログではあまり詳しく言及しませんでしたが、ご参考までに、該当するものを入れておきました。

方式 主な製品・サービスなど 特徴
PostScriptファイルをPDFに変換 Distiller、GhostScript 既存のPostScriptファイルやEPSファイルのPDF化などに適用
PostScritpプリンタ・ドライバ Acrobat PDF、JawsPDFCreator アプリケーションの「印刷」メニューで文書をPDF化する(EPSのPDF化、やり方によってカラーマネジメントなども可能)
GDIプリンタ・ドライバ いきなりPDF 2/いきなりPDF Professional 2、アンテナハウスPDFドライバ アプリケーションの「印刷」メニューでビジネス文書をPDF化する(EPSのPDF化ができない、カラーはWindows依存になる)
PDF生成ライブラリーを使い直接PDFを書き出す PDFLib、アンテナハウスPDF生成ライブラリーなど各種ライブラリー 主にサーバサイドPDF生成、XSL FormatterでXMLからPDF変換
Adobe PDF Library Illsutrator、InDesignなどで商業印刷用PDFを作成する
スキャナーの画像をPDF化 スキャナ製品紙に印刷された書類の電子化用。Adobe Readerをビューアとして使える
Fax受信データのPDF化 まいとーくサーバ、インターネットFaxサービス Adobe ReaderをFax受信データのビューアとして使える
スキャナーの画像をOCRで文字認識して透明テキスト付きPDF化 複合機(スキャナとOCRソフト機能付き)紙に印刷された書類の電子化用。電子化文書(画像)中の文字情報をテキストとして扱って検索できる

○記事へのリンク

全体
(1) 全体の仕組み

PostScriptファイルをPDFに変換
(2) PostScriptの登場
(3) PostScriptファイルを作る
(4) PostScriptからPDFへ
(7) Distiller互換ソフト
(8) PostScriptにない機能は
EPS
EPS 続き

プリンタ・ドライバ方式全般
PostScriptプリンタドライバとGDI型PDFプリンタドライバの相違
(13) PDFの対話的機能
(14) PDF Maker

PostScritpプリンタ・ドライバ
(5) AcrobatでPDF
(6) Acrobat PDF

GDIプリンタ・ドライバ
(11) GDI型PDFプリンタ・ドライバ
(12) いきなりPDF

PDFLibなど各種ライブラリー
(9) PDF出力ライブラリー
(10) PDFの大量生産へ

Adobe PDF Library
(18) InDesign, Illustrator

スキャナーの画像をPDF化
(15) スキャナーでPDF作成

Fax受信データのPDF化
(16) Fax受信のPDF

スキャナーの画像をOCRで文字認識して透明テキスト付きPDF化
(17) デジタル複合機
透明テキスト付きPDF

PDFを作成する方法として特徴的なものは、網羅していると思いますが、PDF作成ソフトは、フリーのものから高価格なものまで多数ありますので、漏れている方式があるかもしれません。私の知らない方法をご存知の方は、ぜひお知らせください。

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年12月10日

PDFの作成方法(18) – InDesign, Illustrator

これまで、18回にわたり、PDFの作成方法をいろいろお話してきました。最後に、もうひとつ重要な、あるいは、印刷の専門家からみたら「これを説明してもらわなければもぐりじゃない?」という方法を説明して、ひとまず終わりにしましょう。

それは、IllustratorやInDesignなどで直接PDFを出力する、本家・本元のこれぞPDF葵の御紋というものです。

これらは、さすがに、ご本家の製品だけあって、IllustratorもInDesignもPDF作成機能は充実しています。そこで、簡単にPDFを作ってみましょう。

Illustrator(CS2)でPDFを作成するのは、「印刷」メニューではなく、「別名で保存」または「複製を保存」を使います。また、InDesignでは「書き出し」メニューでファイルタイプを「Adobe PDF」に指定します。

それぞれでPDFを作ってみて、プロパティを見ますと、次の図のようになります。通常、AcrobatでPDFを作成しますと、PDFProducer(作成者)はDistillerになります。しかし、IllustratorとInDesignで作成したPDFファイルはいずれも作成者がAdobe PDF Libraryになっています。このことから、恐らく、これらのアプリケーションはプリンタ・ドライバ方式ではなくて、PDFを直接生成する方式を取っていると推測できます。

○Illustratorで作成したPDFのプロパティ
Illustrator.PNG

○InDesignで作成したPDFのプロパティ
InDesign.PNG

これは、IllustratorとInDesignでは、PDFを作成する時に、様々なPDFの機能をきめ細かく設定するためでしょう。

例えば、Illustratorでは、PDF作成時に、レイヤー化されたPDF、カラーマネジメントとPDF/X準拠のPDF作成、トンボと断ち落としの設定などができますが、これらはプリンタ・ドライバ経由でPDFファイルを作成する方法では難しいでしょう。

このようにPDFでは、ものすごく様々な機能を使うことができます。特に、高度な印刷用のPDFファイルを作ろうとしますと一般的なプリンタ・ドライバ方式では、それをPDFに設定することが難しくなります。

一般に商用印刷などに使うPDFを作るアプリケーションでは、①高度な機能をもつPDF生成ライブラリーを使い、②PDFを作成するアプリケーション側から、PDF生成ライブラリーをきめ細かく制御してPDFファイルを作成することが必要になります。

投稿者 koba : 08:00 | コメント (1) | トラックバック

2005年12月08日

PDFの作成方法(17) – デジタル複合機

FAX、スキャナ、プリンタ、複写機を統合したデジタル複合機が増えています。複合機では、PDFの作成については、既に述べたスキャナーやFAX受信とほとんど同じといえるでしょう。

さらに、デジタル複合機は、コンピュータと同じようにOS(オペレーティング・システム)を搭載していて、いろいろなアプリケーションを連携して動作させることができるのが特徴です。

例えば、リコーのimagio Neoシリーズのニュース:
デジタル複合機だけで、さまざまなセキュリティ設定をしたPDFファイルを簡単に作成するimagio Neoシリーズ用アプリケーションソフト「imagio 暗号化PDF タイプA」を新発売

こういうビジネス用の高級機ならいろいろな機能があっても驚きませんが、ブラザーのデジタル複合機MyMio DCP-110Cなんて、Amazonで9,480円(税込み)なのに、 ドキュメント管理ソフトまでついていて、色々なフォーマットのファイルからPDFファイルを作成でき、複数枚の原稿を1つのPDFファイルにまとめることもできるようです。ちょっと驚きですね。

スキャナーで紙文書をスキャンしてPDFファイルを作成したり、FAXで受け取った文書をPDF保存したりするのは、単機能機でもできることは既に述べました。

さらに複合機になってコンピュータを搭載していれば、作成したPDFファイルを電子メールに添付して送信したり、OCRにかけて透明テキスト付きPDFにしたり、画像を圧縮したり、あるいは、PDFファイルに暗号を掛けるなど、アプリケーションを増やしていくことで機能の追加が可能になります。

既に紙になっている書類を電子化しようとしたら、一番手っ取り早いのはスキャナで読み取ることです。特に、e文書法の施行に伴い、従来紙で保存が義務付けられていた書類の電子保存が認められることになったということで、紙の書類を電子化する需要は拡大するものと思います。

こうしたことから、ビジネスから個人まで、しばらくは、デジタル複合機はうけに入りそうに思います。

ただ、問題は、このようなデジタル複合機で作成したファイルは基本的にはビットマップの画像データです。透明テキストをつけて検索可能にしたものも増えているとは言っても、このテキストは書式を持っているわけではないでしょう。

パソコンでOffice文書からPDFファイルを作成した場合、PDFの内部は命令の集合です。これに対して画像データをPDF化したものの実体は画像に過ぎません。表示した見かけは似ていても、中身はまったく違うものです。PDFファイルを再利用したり、検索したり、印刷したりという観点からは、相当に異なります。

なんでもPDFファイル化できるという柔軟さが混乱を招く結果にならなければ良いですが。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年12月07日

PDFの作成方法(16) – Fax受信のPDF

画像系PDFのもうひとつの作成方式として、FAXで受信した内容をPDF保存する方式があります。PDFが普及する前は、FAXソフトはFAX受信内容をTIFFやJPEGなどで保存していましたが、最近のFAX受信ソフトには、受信データをPDFにする機能がついているものがあります。

例えば、メガソフトの「StarFax2005」は、受信データをPDF化して電子メールに転送できます。

また、インターコム社の「まいとーくFAX Server5」は、受信FAXのPDFエクスポート機能がついています。

ソフトだけではありません。インターネットFAXサービスでは受信したFAXをPDFにしてメールで受け取ることもできます。

インターファックス・サービス

F@xEm@ilサービス

アンテナハウスのアメリカ法人でも、FAX受信にはインターネットFAX(eFax.com)を利用しています。このサービスでは、お客様からアメリカ法人のFAX番号宛に送られた注文書をPDF化して、電子メールで届けてくれます。そのPDFファイルは日本に転送されてきて、出荷担当に回ります。このサービスは確かに便利なのですが、FAX原稿は手書きが多いため、判読困難で困ることもあります。そんな訳で、FAXの受信データをPDF化しても、そのメリットはビューアとしてAdobe Readerを使えるということぐらいで、それ以外には大きなメリットはないようにも感じています。

Faxの受信データは、PDFではなく他の画像形式でも良いのではないでしょうか?

ところで、インターコムは、2003年に「マイトーク7Pro」に業界初のPDF送受信機能をつけたと発表しています→同社のニュースリリース。しかし、「マイトーク8Pro」にはその機能が見当たりません。なぜなんでしょうね。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年12月06日

PDFの作成方法(15) – スキャナーでPDF作成

11月1日にPDFの作成方法(1)に示した図ではパソコンのアプリケーションでPDFを作成する方法を整理しました。しかし、重要なPDF作成手段が抜けていました。それは、スキャナなどで作成した画像をPDF化する方法です。

紙に印刷された文書を電子化するには、紙をスキャナーで読み取り、その結果を電子ファイルにします。PDFが普及する前は、スキャナーで読み取った結果はTIFFなどの画像形式で保存していました。しかし、現在は、スキャナーで読み取った結果をTIFFではなくPDFで保存する方がむしろ主流になっているように見えます。

Acrobatではスキャナから取り込んだ画像をPDF変換できます。

また、スキャナーにはPDF保存機能があります。例えば、新世代スキャナが仕事を変える?ペーパーレス化はビジネスマンの夢を見ると、大抵のスキャナはPDF保存機能が備わっているようです。

また、スキャナから取り込んだデータを整理するサード・パーティのソフトウエア製品でもPDF保存機能を使えます。Part3. PDFにして紙文書をデジタル化

既にお話しましたようにPDFの起源はPostSriptです。そんなこともあり、私はスキャナの画像からPDFファイルを作るなんて邪道と思っていたのです。ところが、ブログで取り上げるために少し調べてみたところ、スキャナーでPDFを作る方法には、TIFFではできない様々なメリットがあります。

(1)PDFにすることで、無料配布のAdobeViewerdで誰でも内容を見ることができます。これに対してTIFFは様々な種類があり、あらゆる形式のTIFFを表示するのは困難です。この結果、TIFFの形式によっては表示できない可能性があります。
(2)PDF化することで検索可能にできます。最近は、画像の上に透明テキストを重ねる形式のPDFを作ることで、透明テキストを使ってPDFを検索できるようになっています。
(3)PDFで保存するとTIFFと比べてファイル形式を小さくできることになります。

PDFの起源からはスキャナーで読み取った結果をPDFにするという発想は出てきません。しかし、ブログを書いたお陰で、スキャナーで作成した画像からPDFを作成する方法についての自分の認識を改めることになりました。

【参考】
スキャナーの小咄: ファイル形式とデータ量について

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年11月25日

Office12 のPDFサポート (1)

MicrosoftのOffice12は、2006年の秋の発売と言われていますが、既にその前宣伝が始まっていて、新しいOfficeはどんなものになるのだろう?と興味を掻き立てられます。

もう、いろいろなニュースで何回も流れているので知っている人も多いと思いますけれども、その中に、Microsoft Office12がPDFをサポートするという話題があります。

これは、Microsoftの上級副社長のSteven Sinofskyが、10月2日にMVPの会議で明らかにしたもの。

Microsoft’s Steven Sinofsky Discusses Support for the PDF Format in Office “12”(英文)
スティーブン シノフスキーが語るOffice “12” における PDF 形式のサポートについて(和訳)

これを読むと、Microsoft Office Word, Microsoft Office PowerPoint, Microsoft Office Excel, Microsoft Office Access, Microsoft Office InfoPath, Microsoft Office Publisher, Microsoft Office Visioで、SaveAs(名前をつけて保存)で、PDFを出力できるようになる、と言っています。

これだけのアプリケーションに対してPDF出力をサポートするということは、PDF出力機能を何らかの共通の基盤の上に乗せているのだろうと思います。そうしますと、この共通基盤がどのようなものかが興味深いところです。

特徴は、
①PDFの仕様は1.4。少々古い
②他のプロダクティビティ製品でも PDFをサポート(他のプロダクティビティ製品って、なんだろう?)
③ハイパーリンクをサポート
④読み上げソフトでアクセス可能(タグ付きPDFか?)
⑤(DTPソフトでは)CMYKカラーモデルやトンボ出力をサポート

などとあります。特に、③、④、⑤あたりは、単にPDFプリンタ・ドライバでPDFを出力するだけではできません。従来は、11月21日に話しました、PDFMakerのような特別なプログラムで実現していたものです。

また、7種類にも上るアプリケーションに一斉にPDF保存機能を持たせるには、個別にライブラリーを組み込むのも工数が大きくなります。ですので、恐らくは、アプリケーションから独立した、共通基盤(レイヤ)を開発し、共通のレイヤを通してPDF生成ライブラリーを使っていると思います。

もちろん、各Officeアプリケーション固有の機能もありますので、きめ細かいPDF作成機能を個別に実装している部分もあると思います。内部がどうなっているか、知りたいものですが。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月22日

安価なPDF作成ソフト

昨年来、PDF作成ソフト製品は、安くて、手に入れやすいものになり、また、いろいろな製品が出回るなどホットな分野になりました。そこで、雑誌やWebサイトには、安価なPDF作成ソフトの比較記事がいろいろ掲載されるようになっています。

その一つに、
PDF再入門 PDF再入門-フリーソフトでどこまでいける?
があります。

この記事は執筆時期が2004年12月ですが、その時点でのPDFを作るという状況がどうなっているかが概観できます。タイトルとは違って、Acrobat7(β版)の紹介のスペースが多いですが、アドビシステム一辺倒ではなく、それ以外に、Mac OS X、低価格ソフトなどが一通り紹介されているのがうれしい。

ただ、執筆後、「いきなりPDF」はもう新しいバージョンになり、開発元も変わって、機能も大幅に増えています。「PrimoPDF」も新しくなっているように思います。1年足らずで、書いてある内容が古くなるというのことに時間の流れの速さを感じます。それだけこういう安価な製品の寿命が短いのかも知れませんね。使う方も安価なソフトは、耐久製品というよりは、消耗品的に考えるのが良いように思います。

この記事の中で、特に、私が、面白いと感じましたのは、
PDF再入門まとめ - いずれは空気になるかも?
というところですね。

PDFは、仕様が公開されているので「あって当たり前という存在になっても不思議ではない。」とのご意見。確かにそういう時期がくるかも知れないと思いました。

ところが、実際のところ、来年(2006年)には、この記事の著者(海上忍氏(ペンネーム?))の予想通り、あるいは予想を遥かに超えた変化が起こりそうです。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月21日

PDFの作成方法(14) – PDF Maker

さて、11月7日に、アドビシステムズのAcrobatには、PDFMakerというものがあるとお話しました。

このPDFMakerは、PDFの便利な機能の中で、紙にないためプリンタに印刷する操作では設定できない機能をどうやって設定するか、という課題についてのアドビシステムズの回答と思います。

PDFMakerで具体的にどうやっているか、内部までは詳しく知りません。しかし、OfficeソフトとPDFプリンタ・ドライバの間に介在して、Officeソフトに印刷動作させながら、同時にPDFファイルに設定したい情報を取り出して、PDFプリンタ・ドライバに渡しているのではないかと想像できます。

これにより、PDFMakerを使えば、Microsoft OfficeからPDFファイルを作るとき次のようなことができるようになっています。
・Aodbe PDFにしおりを追加
・(Word)見出しをしおりに変換
・(Word)スタイルをしおりに変換
・Adobe PDFにリンクを追加
・(Word)相互参照と目次をリンクに変換
・(Word)脚注と文末脚注のリンクを変換
・タグ付PDFでアクセシビリティと折り返しを有効にする
・表示されたコメントをPDFのノート注釈に変換

しかし、問題点としては、アプリケーション依存となってしまうことです。すなわち、AdobeのPDFMakerが使えるのは、現在、Microsoft Officeのみとなっていて、さらに、Acrobatのバージョンにより対応可能なOfficeのバージョンが違っています。

なお、アドビシステムズ以外のPDFプリンタ・ドライバのメーカも、PDFMakerとの対抗上、同じような解決策に基づくプログラムを製品に同梱しているケースが増えています。

【参考】
PDFMakerの対応するMicrosoft Officeのバージョン
PDFMaker の対応状況一覧

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月20日

PDFの作成方法(13) – PDFの対話的機能

さて、実際のプリンタには接続しない仮想的なプリンタ・ドライバでPDFファイルを作成する、という方式には、次のような制限ができます。

ワープロソフトなどのアプリケーションの印刷機能は、プリンタを使って紙に印刷することを想定しています。このため、印刷機能を経由するだけでは、紙にはないけれども、PDFには用意されているいくつかの便利な機能を設定できないのです。

では、PDFにあって紙にない便利な機能とはなんでしょうか?主なものを簡単に紹介しましょう。

まず、しおり(BookMark)があります。文書のアウトラインをPDFファイルに設定しておきますと、Adobe Readerは、アウトラインを次の図のようにウィンドウに表示します。アウトラインの項目をクリックすると、その項目に設定されたリンク先にジャンプします。

BookMark.jpg

一般的には、文書の見出しを階層化してアウトラインを作ります。項目に設定するジャンプ先は、表示しているPDFファイル内でも外部でも構いません。書籍、操作説明書、仕様書などページ数の多いPDFファイルを作成する場合、しおりを設定することで、読み手が文書全体をナビゲーションし易くなります。

第二に、リンクがあります。PDFファイルの中にリンク先のアドレスを埋め込んでおき、ファイルをAdobe Readerなどで表示したとき、そのホットスポットをクリックすることで、埋め込まれたアドレスへジャンプするものです。使い方としては、目次から本文へのリンク、索引から本文へのリンク、本文内で別の箇所を参照、などが主なものです。PDFファイル内のみではなく、外部のPDFファイル(の特定の箇所)や外部のWebページへのリンクも設定できます。ユーザがホットスポットをクリックしたとき、その動作をするのはもちろんPDFビューアの役割です。

第三は、コメントです。PDFでは沢山の種類のコメント機能が使えます。PDF Referenceでは8.4 Annotationという項に定義されています。テキストで注釈を書く以外に、線、矩形、円、多角形、折れ線、ハイライト、アンダーライン、取り消し線、スタンプなどを使うことができます。本文とは別になっていて、既存のPDFファイルにコメントを追加したり、削除したりといった編集ができるように配慮されている訳です。Microsoft WordやExcelなどのOffice文書でも、本文と別にコメントをつけることができます。このコメントをPDFファイルを作成するとき、PDF内のコメントにできると便利でしょう。

第四に、アクセシビリティ機能があります。これは、また、別途、お話しましょう。

PDFには、これ以外にも、紙にはない、いろいろな機能がありますが、Officeソフトで作成するPDFファイルを想定すると、このあたりが主なものです。

PDFプリンタ・ドライバは、アプリケーションが紙に印刷するつもりでプリンタ・ドライバに対して出力したデータを取り込んでPDFファイルを作ります。このとき、しおり、リンク、注釈などは、データとして出力されないわけですから、PDFファイルに設定できません。何らかの工夫が必要になります。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月19日

PDFの作成方法(12) – いきなりPDF

さて、2004年春にソースネクストが発売した「いきなりPDF」は、衝撃的でした。なにしろ、それまでAdobeのAcrobatは、3万円以上していたのですが、1,980円でPDFを作成できる製品が現れたわけです。

「いきなりPDF」はソースネクストの販売力もあって発売と同時に爆発的に売れたようです。

さて、これは、なんの変哲もない、Windows用のGDI型PDFプリンタ・ドライバをパッケージ化したものですが、「いきなりPDF」の商品化は、次の点で大きな功績があったと思います。

(1)それまで高価な印象があったPDF作成ソフトを安価で提供し、PDF普及のはずみをつけた。
(2)PDFを印刷業界から一般のビジネスマンにとっても身近なものにした。
(3)PDF作成ソフトの市場をアドビシステムズ独占状態から、サードパーティのものを含め乱戦状態に変えた。

最初の「いきなりPDF」に採用されたPDFプリンタ・ドライバは、スカイコム社が開発したものでした。実は当社も既にPDFプリンタ・ドライバを開発済みでしたが、それが売れるとは夢にも思っていなかったのです。振り返ってみれば、なんの変哲もないPDFプリンタ・ドライバが数十万本も売れるというのは、それだけPDFを作りたいがAcrobatは高いという、つまり需要と供給にギャップがあったということなのでしょう。そして、それに気が付いていなかったのです。

その後、アンテナハウスでは、ソースネクストから「いきなりPDF Professional」を出すことができました。現在では、「いきなりPDF2」も、スカイコム社のPDFプリンタ・ドライバからアンテナハウス製にリプレースしています。この結果、「いきなりPDF Professional2」と併せて両方が、アンテナハウスが開発したものになっています。

「いきなりPDF Professional」では、一括PDF作成と言って、ファイルをドラッグ&ドロップ操作でウィンドウに落とすだけでPDFを作成する機能もあります。このプログラム内部は次のようになっています:
①ファイルを作成したアプリケーションの種類を判別、
②例えば、Microsoft Wordのファイルなら、WordをCOMを使って、プログラム内で起動して、印刷動作をさせ、
③PDFの印刷ができたらWordは終了。

PDFを作るのはPDFプリンタ・ドライバを使っているのですが、印刷メニューからプリンタ・ドライバを選択する、という初心者に分かり難い操作なしで、あたかも自動的にPDFができるようになっています。「いきなりPDF Professional」は良く売れていますが、こういうエンドユーザ向けの使いやすい機能が人気を得たようです。この一連の仕事では、パソコンのユーザ層の裾野が広がっているので商品を作るときもユーザの目線を忘れないようにしないといけないんだな、と良い経験となりました。

そんなこともあって、ここ1年ほどの間、小売店のルートを通じて販売しているPDFのプリンタ・ドライバでは、アドビシステムズを抜いて、アンテナハウス製のPDFプリンタ・ドライバがトップのシェアを取っているんです。もっとも、今年の4月からアドビシステムズもAcrobat 7.0 Elementsを税込み4,900円(アドビストア価格)で出し、対抗してきましたので低価格PDFプリンタ・ドライバの競争も激化しています。負けないように頑張っていきたいものです。

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年11月18日

PostScriptプリンタドライバとGDI型PDFプリンタドライバの相違

PDFを作成するプリンタ・ドライバには、PostScriptを経由する方式とGDIからPDFを作り出す方式があると言いました。

やや専門的になりますが、この2種類のプリンタ・ドライバには次のような違いがあります。

①GDI型のプリンタ・ドライバはWindowsのGDIの機能に依存しているので、WindowsGDIの機能的制約を受ける。
②PostScriptプリンタ・ドライバは、WindowsGDIの機能制限を受けない。

この大きな違いの理由は、PostScriptプリンタ・ドライバは、Windowsのシステムの中で別格扱いされているということです。そして、アプリケーションは、GDIを経由しないで、PostScriptプリンタ・ドライバに対してデータを送り出すこともできるということです。

両者の方式では、MicrosoftWordなどでビジネス文書を作成している間は、大きな違いはでません。しかし、例えば、商業印刷などでプロ向けのグラフィックス・ソフトを使う場合には大きな差が出てきます。

例えば、テレビなどでカラーを表示するときは、RGB(Red,Blue,Green3原色)で表現することは多くの人が知っていると思います。WindowsのGDIも、テレビと同じように、カラーを全てRBGとして表現しています。そして、GDIを経由するPDFプリンタ・ドライバを使って作成したPDFの中ではカラーはRBGで表現されます。

しかし、印刷でのカラー表現はCMYK方式を使います。印刷用のアプリケーション・ソフトではカラーをCMYK方式で指定できるものもありますが、CMYK方式で表現したカラーは、WindowsGDIでは表示できません。このため、GDI型のプリンタ・ドライバで作成したPDFの中では、CMYKカラーを使えません。

また、アプリケーションによっては、PostScriptプリンタ・ドライバに出力するときと、GDI型のプリンタ・ドライバに出力するときで、内容を変えてしまうものがあることも分かっています:
例えば、MicrosoftのVisioは、PostScriptプリンタ・ドライバに対しては、ベクトル・グラフィックス形式でデータを出し、GDI型のプリンタ・ドライバに対しては、ラスター・イメージ形式でデータを出すようです。

なお、今日述べたことは、PDFを作成するプリンタ・ドライバとしての差異であって、PDF作成方法一般に該当することではありません。例えば、アプリケーションから、直接PDF生成ライブラリーを使って(つまりプリンタ・ドライバを経由しない)PDFを作れば、RGB以外のカラー表現方式を使うことも可能です。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月15日

PDFの作成方法(11) – GDI型PDFプリンタ・ドライバ

PDFを作成するプリンタ・ドライバには、PostScriptを経由せず、PDFを直接書き出す方式を採用しているタイプのものがあります。これをPostScriptを経由する方式と比較して、GDI型PDFプリンタ・ドライバと呼びましょう。

GDIというのは、Microsoft Windows専用の言葉で、Windowsでディスプレイへの描画やプリンタへ出力する情報を統合的に扱うプログラム・モジュールのことを言います。

Windowsの上で動くアプリケーションは、画面などに絵を描画するときは、GDIに対して命令を発行します。GDI型のPDFプリンタ・ドライバは、このGDI命令を受け取ってPDFの命令にして出力するわけです。

以前に、AcrobatにはPDFWriterというプリンタ・ドライバがあったが、現在はなくなっている、(11月7日)と言いました。

このPDFWriterはGDI型のPDFプリンタ・ドライバと見られます。それは、Acrobat5のヘルプに次のような記述があることから推測できます。

(以下■で囲む項の部分の内容は、Acrobat5のヘルプより抜粋したものです。)

■ここから
PDFWriter の概要
PDFWriter は、他のソフトウェアアプリケーションのファイルを直接Adobe PDF に変換するプリンタドライバです。このユーティリティは、主にテキストで構成されているドキュメントの変換に適しています。どのような場合にPDFWriter を使用すればよいか、ガイドラインを以下に示します。

Microsoft Word やExcel で作成した単純なビジネス文書を変換する場合。
Encapsulated PostScript(EPS)グラフィックが含まれていない文書。
お使いのシステムのRAM 容量が少ない場合。
Distiller で作成するよりも素早くPDF ファイルを作成したい場合。
■ここまで

上の記述の内容は、GDI型のプリンタ・ドライバの一般の特徴を示しています。要はこのようなGDI型のプリンタ・ドライバは、一般ビジネスの用途で、配布・閲覧・資料保存用のPDFを作るのに適しているのです。

このようなGDI型のプリンタドライバは、アドビシステムズ以外からも多数のものが販売・配布されています。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月14日

PDFの作成方法(10) – PDFの大量生産へ

PDFの作成方法の全体の仕組み(11月1日)の図で④アプリケーションからPDFを作成するライブラリーを使ってPDFを出力する方法を挙げました。

ここでいうアプリケーションには、Webシステムのようなものから、ワープロソフトのようなデスクトップ製品まで広く含まれます。

PDFLibのようなライブラリーを使って、Webや企業内システムへ、PDF出力機能を組み込むのはシステム・インテグレータの役割となります。Webシステムや企業内システム、特に、帳票系では、日本でも同じようなものを提供しているベンダーも多くなっていますね。

PostScriptに依存しないPDF作成ライブラリーを使って、PDFを直接作り出す場合は、次のようなメリットがあります。

1.PostScritpと比べて高速な処理ができる。アプリケーション→PostScript→PDFという2段階からアプリケーション→PDFの1段階になる。また、PostScriptよりは軽い処理なので早くできる。
2.プリンタ・ドライバのような第3者ソフトを使うのと比べて自由度が高まり、プリンタ・ドライバに依存しない出力の仕方ができる。
3.アプリケーションからPDFのもつ様々な機能を、きめ細かく使用することができる。

逆に、PostScriptに依存しないデメリットとしては、次のようなことがあります。

1.PDFはページの概念をもつメディアなので、アプリケーションがデータからページを作り出す必要があり、どうやってPDF化したいデータのページアップを行なうかが問題である。一般にはぺージの概念を備えたアプリケーションが前提となる。
2.アプリケーションに、PDFを作る命令をひとつずつ組み込むため開発に時間がかかる。
3.EPSという高度なグラフィックス・ファイルの読み込みができない。

このメリットとデメリットについては、いずれより詳しく検討することにして、ここでは、DTPからPDFを作りだすという従来の出版・印刷の流れとは別の流れとして、システムの中でPDFを大量に生産する仕組みが普及してきている、ということを強調しておきたいと思います。

そして、この場合、PostScriptに依存しない技術の方が適切ではないでしょうか。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月12日

PDFの作成方法(9) – PDF出力ライブラリー

PDFの仕様は公開されているのだから、自分のプログラムの中から直接PDFファイルを書くことはできないだろうか?そのように考える人もいると思います。

もちろん、そのようなこともできます。つまり、PostSciptを経由しなくてもPDFを作ることができるのです。今日はそのことをお話してみましょう。

PDF Referenceを参考にしながら、自前のプログラムから、直接、PDFファイルを書くことは、スキルのあるプログラマならやればできます。しかし、実際に、その人が、自分ですべてをまかなおうとしますとPDFに関する深い知識が必要になります。PDFの仕様は膨大(PDF1.6のReferenceは、本体だけで、1200ページ強!)ですので、簡単なものならともかく、高度なものになりますと、やらなければならないことが多くなり、仕事の生産性もあがりません。

こうしたことから、PDFに関することをまとめて任せてしまえる部品の必要性が生まれます。一般に、こういうプログラム部品をライブラリーと言います。PDFを作成するライブラリーは、全体の仕組み(11月1日)の絵の中の「PDF出力ライブラリー」がそれに相当します。

この種のライブラリーで昔から有名なものに、PDFLibがあります。PDFLib社の創業者Thomas Merz氏は、PDFに関する著書もいくつかあり、PDF業界では有名な方です。PDFLibは、最初のころはソースプログラムが公開されていたような記憶がありますが、今は、みあたりません。バイナリのみの配布で、試用であれば無料ですが、実際に使用するときはライセンス料金を払わねばなりません。

PDFLibは、PostScriptにはまったく依存しないで、上位のプログラムから指示された命令によってPDFを作り出します。これは、現在は、企業内システムやWebシステムに組み込んで、ユーザから入力されたデータ、あるいはデータベースから取り出したデータを使って、サーバサイドで、即時にPDFを作り出すというシステムを構築するのに使われています。

私は一番最初に、Thomas Merz氏の著書を読んだとき、中に書かれている例の中で、on-the-flyでPDFを作る、という概念が理解できず「一体なにに使うんだろう?」と思った覚えがあります。

しかし、今では、WebシステムでPDFを作成するという考えがかなりポピュラーになってきています。一般にWebシステムでは、高速な応答性が要求されます。このため、on-the-flyでPDFを作るためには、PDF生成ライブラリーも高速なものでなければなりません。

PostScriptファイルは大きくなり、また、それを解読するにも処理時間がかかるということで、Webシステムで使うにはあまり適切ではありません。PDFLibの市場性もその辺りにあったと言えます。

ところで、PDFLibは、最初のころはソースプログラムが公開されていたかどうか、記憶に自信がありませんが、どなたかご存知でしょうか?

投稿者 koba : 08:00 | コメント (4) | トラックバック

2005年11月10日

PDFの作成方法(8) – PostScriptにない機能は

ところでPDFはPostScriptにはない、データの交換・共有機能をもたせるために発明されたと話しました(11月5日)。このため、PDFは、しおり、注釈、ハイパーリンクなどPostScriptにはない機能をもっています。

PostScriptファイルからPDFを作成する場合は、当然のことながら、PostScriptファイルの中に存在しない情報は、PDFに入れることができないわけです。これを考えますと、PostScriptを経由してPDFを作る方法についてはひとつ疑問がわきます。

つまり、「PDFを作るのに、古いPostScriptに依存するやり方で十分なのだろうか?」、「PostScriptが持っていなくて、PDFで必要とする情報はどうやって受け渡しているのだろうか?」という疑問です。

そのためには、原理的に、次のようなことが必要になるはずです。


  1. PostScriptファイルに、PostScriptの印刷処理では不要だけれども、PDF作成では使う情報を持たせる仕組みが必要

  2. 前段でPostScriptファイルを準備するとき、予めPDFを作ることを意識してそういう情報を出力する

  3. PostScriptからPDFへの変換プログラムは、PDFを生成するとき、そういうPDF専用の命令をも解読して、PDFに出せる必要がある

これについては、「PDFMark」という、しおり、注釈、ハイパーリンクなどPDF独自の機能をPostScript ファイル内に記述する仕組みが用意されています。しかし、アプリケーションからPDFを作成するときに、この仕組みを実際に使えるかどうか、となるとまた話は別になります。仕組みは仕様として用意されていても、プログラムがそれを使えるように作られていないと、普通のユーザは実際には使えないからです。

では、Postscriptプリンタ・ドライバを前提とした場合、しおりやハイパーリンクなどPDF専用の機能を使うことができるのでしょうか?あるいは、プリンタ・ドライバでできないとしたら、どうやったらできるようになるのでしょうか?このあたりは、やや高度な話になりますので、後日、まとめてお話してみたいと思います。

PDFMarkに関する仕様:
pdfmark Reference Manual (PDF: 985k)

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月09日

PDFの作成方法(7) – Distiller互換ソフト

前に話しましたように、アドビはPostScriptインタープリターを、いろいろなプリンタメーカに対して提供しています。しかし、アドビのライセンス料が高額だったことから、他のソフトウェア開発会社から、PostScriptを読んで、PostScritpファイルを描画してイメージにできる互換ソフトがいくつか提供されるようになりました。

そして、それらのPostScriptインタープリター互換ソフトをベースにして作られたAcrobat Distiller互換のPDF作成ソフトがあります。

その中の一社が、Globalgraphics社Jaws PDF Creatorです。同社のPDF変換ソフトはジャストシステムからもJustSystem PDF Creatorとして販売されています。

PostScriptインタープリターの互換品にはGhostscriptという無償でも入手できるものがあります。(Ghostscriptには商用の有償ライセンス版もあります)。
http://www.ghostscript.com/

GhostscriptにはPDF生成機能も同梱されています。

この無償版を利用して、PostScriptからPDF変換を行なっているのが、無償のPDF作成ソフトとして良く紹介されるPrimoPDFです。

PrimoPDFは、米国のサーバサイドPDFのメーカActivePDF社が、自社の宣伝を主な目的として作成・配布しているようです。

ところで、Ghostscriptは以前から有名ですが「あまり開発が進んでないなあ」と思っていたのですが、いま見たところ、バグを取ると賞金を出すプログラムを発表していますね。よほど人手が足りないのかな?

Ghostscript Bug Bounty programより引用:
「As before we're paying US $500 for bugs marked bountiable in the tracker; $1000 for those set with priority P1 or P2! So if you're a coder, here's your chance for a little extra cash.」

普通の賞金付きバグ 500 USドル、優先度の高いP1、P2バグは、1000 USドルだそうです。お金を稼ぐチャンス?

腕に覚えのあるプログラマは挑戦してみたら如何でしょうか。

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年11月08日

PDFの作成方法(6) – Acrobat PDF

Acrobat6から、PDFを作成するプリンタ・ドライバの名前は、Adobe PDFになっています。実は、これは、PostScriptプリンタ・ドライバとDistillerを連続で動かすものです。

これを確かめてみましょう。

まず、Wordで簡単な文書を作成し「印刷」メニューからAdobe PDFを選びます。Adobe PDFの印刷ダイヤログで、「ファイルに印刷」を選択します。

○Adobe PDF の印刷ダイヤログで、「Print to file(ファイルに印刷)」をチェックしたところ:
AdobePDF.jpg
(ここで使用しているのは、Acrobat6(英語版)、WindowsはXPです。)

○出力されたファイルをテキスト編集ソフトで開いてみます。すると先頭の部分に次のように書いてあります。

Content.jpg

ですので、これは、PostScriptレベル3のファイルなんですね。つまり、Adobe PDFは、PostScriptプリンタ・ドライバと同じ機能をもつことがわかります。

さらに、このファイルをDistillerでPDFに変換することもできます。

また、Adobe PDFで「ファイルに印刷」にチェックしない(既定値)で実行しますと、PDFファイルができます。

以上のことから、Adobe PDFプリンタを指定すると、ユーザに見えないところでPostScriptを作り出し、それをDistillerを使って、PostScriptからPDF変換を行なっているのだろうと推測できます。

ということは、Acrobat Distillerプリンタ・ドライバの後継がAdobe PDFで、PDFWriterはなくなったらしい、といえます。

投稿者 koba : 00:08 | コメント (0) | トラックバック

2005年11月07日

PDFの作成方法(5) – AcrobatでPDF

さて、今までの説明ではPostScriptに焦点をあててきましたので、「それじゃあ、PDFを作るには、PostScritptファイルを自分で作らないとだめなのだろうか?」という印象をもたれたかもしれません。

しかし、エンドユーザが簡単に使うだけなら、PostScriptについて特に意識しなくても大丈夫になっています。

最新のAcrobat7では、アプリケーションの「印刷」メニューから表示する「印刷ダイヤログ」で、プリンタ名Adobe PDF を選んで「OK」ボタンを押せば、PDFができるようになっています。

Acrobatがここまで来るには、歴史的変遷もあり、かなりややこしいことになっています。

プリンタの名前は、以前にも言いましたが、メーカが分かりやすく付けることができます。そこで、Acrobat4から以降のプリンタ・ドライバの名前の変遷を辿ると次の表のようになっています。(以下はWindows版についての話です。)

バージョン プリンタ・ドライバ名 インストール時カスタマイズの既定値
Acrobat4 Acrobat Distiller 既定値で on
Acrobat Writer 既定値で on
Acrobat5 Acrobat Distiller 既定値で on
Acrobat Writer 既定値で off
Acrobat6 Adobe PDF
Acrobat7 Adobe PDF

Acrobat4では、PDFWriterとDistillerの2種類のプリンタ・ドライバがあり、両方とも既定値でインストールされました。

Acrobat5で、Acrobat Distillerがプリンタ・ドライバの主流になり、PDFWriterは既定値ではインストールされなくなりました。

Acrobat6以降では、プリンタ・ドライバがAdobe PDFという名前のものひとつだけになりました。

最初、アドビシステムズはDistillerをプリンタ・ドライバではなく、PostScriptからPDFへの変換を行うアプリケーションとして用意しました。Acrobat4、5では、それが、プリンタ・ドライバの名前にも使われていたのですが、Acrobat6以降、Distillerという名前は、プリンタの名前ではなくなり、PostScriptからPDFへの変換を行うアプリケーションのみとなりました。

ほかに、Acrobatには、PDFMakerというものがありますので、さらにややこしくなっています。

なぜ、昔はAcrobat DistillerとPDFWriterの2種類のプリンタ・ドライバがあったのか?そして、今はひとつになってしまったのかなど、いろいろ疑問が沸きますね。

投稿者 koba : 08:00 | コメント (2) | トラックバック

2005年11月06日

Acrobat2のパッケージ

Acrobatの変遷を調べていましたら、書庫に、Acrobat2のパッケージがありました。もはや歴史的な意味しかないかもしれませんが、紹介してみます。

米国のラスベガスで行われたComdexというショウを見に行った機会に購入してきたものと思いますが、145ドルのラベルが張ってあります。

○Acrobat2のパッケージ写真
Acrobat2.jpg

ショップのラベルで145ドルなのを見て、「ん?安いな」と思ったのですが、Acrobatは、当時、Acrobat、Acrobat Pro、Acrobat Wordkgroupの3製品に分かれていて、このパッケージはAcrobatなので安いんですね。
Acrobat2.0には次のプログラムが入っています。

Acrobat Proには、これにDistillerが追加になります。Acrobat Wordkgroupは10人分のライセンスをセットにしたものです。

なお、Acrobat2は、1994年に発売されたもので、Windows3.1で動きます。英語版のみで日本語版はありませんし、日本語を扱うこともできません。

日本語版が出たのは、次のAcrobat3.0Jからになります。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月05日

PDFの作成方法(4) – PostScriptからPDFへ

昨日お話しましたように、PostScriptファイルがアプリケーションから独立したデータとして流通するようになってきました。しかし、PostScriptファイルには問題もあり、データの交換・共有をもっと簡単にする方法が望まれていたのです。

PostScriptは、出力するのは比較的簡単ですが読むのはとても大変です。加えて、紙への印刷用の一方的出力のために設計されたものですので、例えば画面に表示して、内容をナビゲーションしたり、注釈をつけたりする機能もありませんでした。

PostScriptを元にして、さらにデータを交換する形式として適切なように、またナビゲーションなどが簡単にできるように設計されたのがPDFです。そして、PostScriptをPDFに変換するプログラムとしてAcrobat Distillerが用意されました。

Acrobat Distillerを使うと、PostScriptファイルをPDFに変換することができます。(次の図)

Distilling.jpg

PostScriptファイルには、1ページ毎に、その内容をPostSript言語を使って記述した命令情報が入っています。この命令情報をPostScriptインタープリターというプログラムで解読して、ページの内容を描画していきます。プリンタメーカ各社から出ているPostScriptプリンタには、このPostScriptインタープリターが搭載されている訳です。このPostScriptインタープリターを開発するのは相当に大変です。

しかし、PDFではプログラム言語的な要素が取り除かれているので解読するのは比較的簡単になっています。

アドビのAcrobat Distillerは、プリンタ用のPostScriptインタープリターをベースにして作られているのではないかと思います。

ところで、distillというのは英語で蒸留するという意味なんですが、 Distillerを使ってPostscriptからPDFへの変換することを、distillと表現する人もいます。こんな具合ですね:

In the distilled version, there is... This is using Acrobat 6 for distilling.

これは、一般にも通じる表現なんでしょうか?それとも業界人だけの言葉なんでしょうか?

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月04日

PDFの作成方法(3) – PostScriptファイルを作る

DTPはMacintoshと共に、華やかに登場し、大人気となりました。それを支えたのがPostScript技術ということになります。アドビシステムズは、アップル以外の多くのプリンタメーカに対してPostScript技術を供給したことで、PostScriptは1990年代には高級なレーザプリンタ向けのページ記述言語として標準的な地位を占めるようになりました。

それだけではなく、さらに高品質が要求される印刷分野では、ほぼ独占的な地位を占めるようになり、ひいては印刷業界の仕事をがらっと変えてしまったわけです。

そして、Macintoshで始まったDTPの波はWindowsにも押し寄せました。

Windows上で動くアプリケーションからPostScriptプリンタを使って印刷するときは、ユーザがページアップした結果は、プログラム内部でPostScript言語で記述されて、プリンタに送られます。

この役割を負うのがPostScriptプリンタ・ドライバです。上述のようにPostScriptが高級DTP分野で事実上の標準になっていることから、Windowsには標準的なPostScriptプリンタ・ドライバが同梱されていますし、また、多くのプリンタメーカから各社専用のPostScriptプリンタ・ドライバを提供しています。また、Acrobatを含め、アドビの製品には同社製のPostScriptプリンタ・ドライバが付いています。

アプリケーションの印刷メニューは、普通、プリンタで紙に印刷する時に使うのですが、プリンタに出力する代わりに、PostScriptプリンタ・ドライバでファイルに出力するとPostScriptファイルができます。PostScriptをファイルに出すことで、印刷会社などとのデータ交換ができるようになります。

具体的には、次の図のように「ファイルへ出力」にチェックします。
GenPS-File.jpg

なお、Windowsの「印刷ダイヤログ」で表示される、プリンターの名前は、分かりやすい名前をつけることができますので「PostScriptプリンタ・ドライバ」とは書いてないこともあるかもしれません。

PostScriptファイルは、プリンタ・ドライバを使わないで直接作ることもできます。アドビシステムズはPostScriptの言語仕様を公開し、第三者の開発者がいろいろなアプリケーションを開発することを奨励しました。そこで、パソコンのいろいろなアプリケーションからPostScriptファイルを出力することができるようになりました。また、Unixでは、PostScriptファイルでドキュメントを流通させる習慣がありましたので、古いWebでは資料をPostScriptファイルで公開しているケースもあります。

このようにして、前PDF時代には、PostScriptファイルが、大量に作られて、流通していました。

【参考】
日本印刷とDTPの歴史について
澤田善彦 著作集:印刷100年の変革

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月03日

PDFの作成方法(2) – PostScriptの登場

PDFの作成方法のひとつめは、PostScriptファイルを経由してPDFを作成する方法です。第一段階でPostScriptプリンタ・ドライバでPostScriptファイルを作成し、第二段階で、PostScriptファイルからPDFへの変換を行う方式です。

さて、「PDF千夜一夜」でPostScriptという単語がでてきたのは3回目になります。そこで、少し回り道して、PostScriptとはなにかについて簡単に説明しましょう。

回り道が長くなるかもしれませんが、今日の話は、PDFが生まれる前の歴史、いわば前PDF時代のことになります。

プリンタの一種にレーザプリンタがあります。私が初めてレーザプリンタを買ったのは1987年頃だったと思います。アップルのMacintosh Plusに接続するもので、名前はLaser Writerと言い、確か100万円位したものです。それも当時は日本語が使えませんでした。

ここに写真と説明があります:
http://www.mac512.com/lw.htm

Laser Writerはページプリンタの一種ですが、ページプリンタは次のような働き方をします: A4、B4など大きさの決まった用紙の1ページ分に印刷する内容のイメージをプリンタ内のメモリに形成し、そのイメージをプリンタのドラムに転写し、ついで紙に焼き付けます。簡単にいうと複写機のプリンタ版ですね。

ページプリンタでは、用紙1ページの上に描画する内容を、ページ記述言語という言語を使って記述します。主要なプリンタメーカは、それぞれ独自のページ記述言語をもっています。エプソンのESC/Page、キヤノンのLIPS、ヒューレット・パッカード(HP)のPCLなどが有名ですね。

プリンタで印刷するページの内容を作り出すのはパソコンです。パソコン側では、ユーザが画面を見ながらページアップした結果を、相手のプリンタがどこのものかによって、ESC/Page、LIPS、PCLなどの中で適合する言語を使って組み立て直して、プリンタに送信します。プリンタ側ではその情報を受け取って、プリンタに埋め込まれたコンピュータで解読してページのイメージを作り出すわけです。

PostScriptというのはアドビシステムズが開発したページ記述言語の製品名です。最初にアップルがMacintoshのLaser Writer用にPostScriptを採用しました。これは、Macintoshの上で動く、PageMakerというページアップ・ソフトとともに売り出されて、大人気となり、DTPという概念を作り出したわけです。件の100万円のプリンタもDTPをするために購入したものなんです。

PageMakerは、1985年にアルダス社が発売したものですが、1994年に、アドビシステムズがアルダス社を買収したことにより、現在は、アドビシステムズより販売されています。

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月02日

サーバでOfficeからPDF、PDFからSVGとイメージ

サーバベース・コンバータ(SBC)が(Windows版だけですが)V1.1になりました。

SBCは、Microsoft Office文書をサーバサイドで PDF、SVG、あるいはJPEG/PNG画像ファイルへ変換するミドルウェアです。グループウェアやWebメールシステム等のサーバにSBCを組み込むことにより、 Officeがインストールされていない、および動作しない環境でもOffice文書を表示可能なシステムを構築できます。

変換できるOffice文書は、Word、Excel、Powerpointの97以降です。PDFは、SBCV1.1では1.3~1.5まで変換可能です。

サーバ側で、Office文書からPDFへ自動変換するシステムは、既に、企業内システムでは沢山使われていると思いますが、これらは、ほぼ全てMicrosoft Officeをサーバサイドで動かしてPDFに印刷するサーバサイド・オートメーション方式と思われます。

しかし、Officeのサーバサイド・オートメーションは技術的にも問題が多数あり、Microsoftは、Officeをサーバサイドで動かすことを保証も推奨もしていません。詳しくは、Mircosoftのサポートオンラインをどうぞ:
[OFF2003] [INFO] Office のサーバーサイド オートメーションについて

みんな、マイクロソフトの警告を知らないか、知ってても万やむを得ずやっているか、無視しているか?なんでしょうね。

また、ライセンス的にも問題があります。原則的には、接続クライアント台数分のライセンスが必要らしいのですが。そうでない場合もあるようです。いづれにせよ、このあたりはMicrosoftの考え方次第なので、私が言うべきことではないですが。

SBCは、Microsoft Officeはまったく必要としませんので、上のような問題はありません。

また、OfficeやPDFをSVG/SVG-Tinyに変換できます。SVG-Tinyは携帯電話で使えるものもありますので、Office文書やPDFを携帯電話でも見ることができるようになります。

このブログ「PDF 千夜一夜」は、本文は携帯でご覧頂くことができますが。いずれは、ブログ上のPDFやOffice文書を携帯で見えるようにしたいと思っています。

【参考】
サーバベース・コンバータWebページ

評価版ダウンロード

Mobile SVG Profiles: SVG Tiny and SVG Basic(英文)

投稿者 koba : 08:00 | コメント (0) | トラックバック

2005年11月01日

PDFの作成方法(1) – 全体の仕組み

今日は、PDFファイルを作成する仕組みについて簡単に説明しましょう。自分は、仕組みを知らなくても使えれば良いという人も多いとは思いますが、PDF製品を選択する上でも、仕組みを知っておいても損はないのではないでしょうか。

PDFファイルを作るソフトは世界中に一杯ありますが、それぞれの仕組みは公開されていません。また、使いやすいソフトは、内部が複雑な仕組みになっていても、それをユーザに隠して簡単に使えるようにしています。このことは、ユーザに見える、表面的に現れる名前からだけでは、仕組みは分からないことを意味します。

また、ソフトウェアは機械と違って分解して仕組みを調べることができません。しかし、大雑把に言って、Windowsの環境では、次の図の、①と②の組み合わせ、③、④の経路のどれかで作成する仕組みになっていると考えて間違いないでしょう。

※アップルのMac OS Xでは、Quartzという描画エンジンからPDFへの直接変換ができますので、少し事情が違うと思います。

CreatePDF.png

②PostScriptファイルをPDFファイルに変換する。PostScriptファイルは①アプリケーションからPostScriptプリンタ・ドライバを使って作る。また、Webなどで流通しているPostScriptファイルを使うこともある。
③アプリケーションの「印刷」メニューで見えるPDF生成用のプリンタ・ドライバを使ってPDFファイルを生成する。
④アプリケーションから、プリンタ・ドライバを通さずにPDFを生成する。

①から④については、これから、順を追って説明したいと考えています。

ところで、ドライバ(Driver)って、運転手ではありません。パソコン用語ではドライバは周辺機器を動作させるためのソフトウェアのこと。プリンタを動作させるのがプリンタ・ドライバですが、PDFの場合は周辺機器を使わないのにプリンタ・ドライバということが多いのは、歴史的なものじゃないでしょうか。

投稿者 koba : 08:00 | コメント (2) | トラックバック