
Ubuntu日本語フォーラム

ログインしていません。
kubuntu 9.10でFirefox (今はヴァージョン3.5.8ですが以前から同じ症状あり)で,印刷 ー> Print to FileでPDF保存しようとすると,いつもではないのですが,ページの途中から文書が保存されていないことが起こります。PDFファイルのページの切り替わるときにこの症状が起こり,文章の途中で突然,とぎれてしまいます。kubuntu9.04でも8.10のときも同じ症状がありました。同じウエブページをKonquerorでPrint to file (PDF)で保存するとFirefoxでは消えていた部分の文書もPDFに変換されます。
この原因はどこにあるのか,どうしたら直るのか,ご存じの方または心当たりのある方教えてください。
Firefoxは現在このようなバージョンです。
Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8
オフライン
Kubuntu 9.10(amd64)環境で、このフォーラムのトップページをPDF変換してみましたが再現しませんでした。
1. 特定のページで発生するのか、どこでも発生し得るのか。
2. 特定のページで発生する場合、サンプルURLはどこか。
3. 発生するページでは常に発生するのか、ランダムに発生するのか。
なども気になるところですね。
#1の情報だけから考えると、firefoxが解釈できないページがあるのかとも思いますが、その場合、ページの記述に問題があるのかfirefoxのエンジンに問題があるのか切り分ける知識は私にはありませんです。。
オフライン
firefoxのアドオンをすべて列挙してみてください。
そしてアドオンを全てオフにするか、safemodeで症状が起こるか試してみてください。
ブラウザに起因するバグはアドオンが原因になっている事が多々あります。
オフライン
お世話になります。
いくつか試してみると,次第に訳がわからなくなってきました。
まず,Konquerorでも同じことが起きることに気がつきました。特にページのかわったところから,文字が重なったりレイアウトが壊れたりします。
ですからFirefoxだけが悪いわけではないようです。
Firefoxの拡張機能で入っているのは,MediaWrap 0.1.7.3, SQLite Optimizer 0.7.5, Ubuntu Firefox Modifications 0.8
です。
たとえば,このトピックのページをFirefoxからPDFで保存すると,hmatsueさんのコメントの「Kubuntu 9.10(amd64)環境で、このフォーラムのトップページをPDF変換してみましたが再現しませんでした。」の文までで終わっています。
FirefoxとKonquerorを使って同じウエブページから作成されたPDF文書のプロパティをAcorobat Readerで見ると,
Firefoxで作成されたPDFはアプリケーション cairo 1.8.8
詳細情報で PDF変換 cairo 1.8.8
Konquerorで作成されたPDFはアプリケーション KDE 4.4.0 HTML Library
詳細情報で PDF変換Qt 4.6.1 (C) 2009 Nokia Corporation and/or its subsidiary
Print to fileで.psで保存してもレイアウトがおかしくすべてのページが保存されません。
たぶん,日本語のPDFで2ページ以上になるPDFで保存するときに問題がほとんどの場合に起きているようです。英語のページでは,複数ページになる場合でも特に問題がないように感じます。
CUPS PDFというのを試しに入れてみたのですが,問題は解決しませんでした。
何か解決の糸口になるヒントに心当たりのある方,教えてください。
オフライン
不思議な現象ですね。
試しにfirefoxを終了し、端末を立ち上げて、
$ firefox
として、端末からfirefoxを立ち上げ、
ページのPDF変換をしてみると、なにかエラーメッセージが端末の方にでたりしますでしょうか。
オフライン
hmatsueさん
ありがとうございます。
試してみましたが,何も端末には出ませんでした。
こちらでももう少しいくつか試してみます。
オフライン
エラーがでないのは厳しいですね。
もはやあてずっぽうモードですが、英語サイトはOKで、複数のエンジンで同様の現象が起きていることを考えるとフォントなどの問題のような気がします。
http://www.ubuntulinux.jp/products/JA-Localized
を参照して、日本語レポジトリから日本語環境を導入してみたり、パッケージマネージャでadobeのCMAPやpoppler-dataを検索して導入してみてはいかがでしょう。
念の為ですが、変換されたPDFは正常で、ビュワー側の問題ということはないでしょうか。
可能であれば、いくつかのビュワーを試してみたり、WindowsマシンでPDFを開いたりしてみてください。
(xpdf-japaneseとか、evinceとか、okularとか)
オフライン
このフォーラムに限っていえば、なんかCSSに問題があって上手く印刷ができないようでした。PDF 変換云々ではなさそうです。
Ubuntu.css の #wrapper の overflow:hidden; をコメントアウトしたら印刷できそうな感じになりました。
これがfirefoxのCSS解釈の問題なのか、CSS の記述の仕方の問題なのかはちょっと分かりませんが。
根本的解決には管理者に CSS の変更を依頼するしかなさそうですが、ここを変更した為に他のブラウザで表示が崩れる可能性がなきにしもあらずですので、難しいところです。
オフライン
私の環境では、Ubuntuの日本サイトやフォーラムをpdf印刷すると、とりあえず100%再現します。
実験環境:Ubuntu 9.10 日本語REMIX 32bit + Firefox 3.5.8 (VMwareゲストOS 初期インストール後に全パッケージをアップデートしただけの限りなく"クリーン"な環境) です。
しかし、それ以外の日本語ページ(例:WikipediaやGoogle検索結果)では再現しないです。(再現するサイトに出くわしていないだけかも・・・)
※なお、ここでいうpdf印刷とは[ファイル]->[印刷]を開き、[ファイルに出力する]でpdfを選択する操作の事です。
※pdfファイルはデフォルトのevinceで閲覧しました。
試しに、Ubuntuの日本サイトやフォーラムをローカルHTMLとして保存し、HTMLソースの'Ubuntu.css'の行を無効にし、そのHTMLファイルを開いて印刷すると、再現しません。
なので、今回の現象はUbuntu.cssが関係しているのかなと、私も思っています。
ただ、まだcssと確定したわけではないので、多角的な調査が必要かと思います。
WindowsXP SP3 + Firefox 3.6
Ubuntu 9.10 + Firefox 3.5.8
両者とも 32bit
上記の環境にて、同じ現象が発生する事
Firefox のアドオン Firebug を使い前述の CSS のプロパティを無効にしたところ、改善される事
までは確認致しました。
※XP環境においては直接PFDに出力する事ができなかったため印刷プレビューおよび実際に印刷で確認、Ubuntu環境においては、STGSAGWANと同様の操作にてPDFで閲覧し確認ました。
以上から Firefox + CSS が関係しているであろうとは思います。
オフライン
そう言えばフォーラムのCSSが怪しいって話ありましたね。
なんで自分だけ再現しなかったかというと、テーマを変えていたからのようです。標準テーマだと再現しました。
このフォーラム限定の話であればこれで原因判明となるかと思いますが、他のサイトではいかがでしたでしょうか。
オフライン
皆さん ありがとうございました。
CSSというものの存在を知らなかったのですが,GHOさんのおっしゃるとおりこれが一番の問題だったようです。
Firebugを入れてUbuntu.css の #wrapper の overflow:hidden; をコメントアウト
をしたら無事にPDFでウエブページを保存できました。
もう少し他のページなど検討してみます。
オフライン
Firefox拡張機能のStylish、Greasemonkey、または ブックマークレットによる補正。
どれを選ぶ?
頻繁に印刷する and/or Firefox拡張を入れるのを厭わない人 → Greasemonkey
たまに印刷する or Firefox拡張は入れたくない人 → ブックマークレット
どうしてもStylishしか受け付けない人 → Stylish
Greasemonkey
※ @media printの指定が可能なので、印刷の方にだけ補正が効く。
※ 'https://forums.ubuntulinux.jp/*' で実行されるように設定する。
(
function() {
GM_addStyle('@media print { #wrapper {overflow: visible;} }');
}
)();ブックマークレット
※ 画面と印刷の両方にCSSの「補正」が効いてしまうが、ページリロードか別のページに遷移すれば元に戻るので、問題なし。
javascript:(function(){ document.getElementById("wrapper").style.overflow="visible";})();Stylish
※ @media printの指定方法が分からなかった為、画面と印刷の両方にCSSの「補正」が効いてしまうのが難点(その補正が画面にどう影響するのかまでは未調査)
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("forums.ubuntulinux.jp") {
#wrapper {
overflow: visible !important;
}
}#13の補足
ブックマークレットの方法が、一番シンプルで誰にでも扱いやすいと思っています。
#13の補足
#13は当フォーラム専用の対策です。