« ソフトウェアの国際化について 続き | メイン | PDFからHTMLに変換(2) »
2006年09月03日
PDFからHTMLに変換(1)
PDFを表示するには専用のビューアが必要ですし、WebでPDFを見かけると、「煩わしい!」と思ってしまいます。そういう印象をもつひとは私以外にも大勢いると思います。
PDFをHTMLにしてからWebで公開するのも良いのではないか?と考える人も多いことでしょう。そこでPDFからHTMLに変換するソフトについて現状を調べてみたいと思います。
リッチテキスト・コンバータ
ちなみにアンテナハウスの「リッチテキスト・コンバータ」でもPDFからHTML変換ができます。リッチはPDF専用というわけではないので、ワープロ文書ファイルからHTMLへの変換もできます。営業担当者にWeb掲載のニュースを作ってもらうとこれでやっているようです。この「Webレポート作成システム紹介セミナー」ご案内ページはリッチで作ったもの。
PDFはどうかと言いますと、PDFについても文字や表のレベルであれば大体正しくHTMLに変換できます。
次の変換例をご覧ください。
■オリジナルのPDFファイル 契約書の雛形例(PDF)
■変換後のHTML 契約書の雛形例(HTML)
※「リッチテキスト・コンバータ2005R3」(未発売)で変換。変換先設定は既定値です。
ところで、このHTMLのリンクをブラウザでたどると、IE6、FireFoxともAgreement.htmファイルをUTF-8と判定してしまいます (正しい文字コードはシフトJISです)。
《※9月4日追記 上の文章は、サーバ側の設定が原因でした。9月4日に設定を変更しましたので、現在、文字符号化方式が正しく判定されるようになっています。詳しくはコメントをご覧ください。》
・Agreement.htmファイルはxhtml形式です。
・Agreement.htmファイルをローカルでFireFoxで見ると、文字符号化方式自動判定でシフトJISになります。
・XML妥当性検証パーサでは妥当なXMLと判定されます。
・Another HTMLLintでは99点です。(title 要素の内容がないのが減点1)。
・XML宣言でもencoding="Shift_JIS"と宣言していますし、<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />も出力しています。
なぜ文字符号化方式を正しく判定できないのでしょうか。ブログサーバの方になにか問題がありそうに思います。
同じファイルを他のWebサーバにアップすると、リンク先ファイルの文字符号化方式が正しく判定できます。
契約書の雛形例 (HTML をWebサーバにアップしたもの)
投稿者 koba : 2006年09月03日 08:00
トラックバック
このエントリーのトラックバックURL:
http://blog.antenna.co.jp/PDFTool/mt-tbng2.cgi/426
コメント
大勢の方に、コメントいただきありがとうございました。
土曜日でしたので、社内で確認できず、失礼しました。
9月4日からサーバ(Apache)の方で、Content-Type のDefaultCharsetをUTF-8に設定しているためでした。ブログサーバのPDFTool配下のDefaultCharsetを設定しないように変更されました。
この結果、本文の文章が妥当でなくなっています。
投稿者 小林 : 2006年09月04日 21:07
毎回興味深く拝読しています。
すでにお気付きの通り,Agreement.htmをリクエストするとブログサーバが返すHTTPレスポンスヘッダには
Content-Type: text/html; charset=UTF-8
が含まれています。それ故に,IE6,Firefoxの挙動は妥当です。
投稿者 今井 : 2006年09月03日 20:21
仰るとおりWebサーバーの問題ですね。
WebサーバーがHTTPヘッダにてcharset=utf-8を渡しているのが原因だと思います。
投稿者 成瀬 : 2006年09月03日 10:55
ちょっと調べてみましたが、HTTP応答ヘッダのContent-Typeフィールドで、charset=UTF-8が指定されているようです。
HTMLの仕様上、METAタグによる指定よりもHTTPヘッダでの指定の方が優先されるため、UTF-8として解釈しようとするのでしょう。
想像ですが、HTMLファイルを送る際、一律にcharset=UTF-8をつけるようサーバが設定されているのではないでしょうか。
投稿者 やの : 2006年09月03日 10:17