Pdf.js: 印刷ががやけおいる/がやけおいる

䜜成日 2013幎02月20日  Â·  38コメント  Â·  ゜ヌス: mozilla/pdf.js

FF19でPDFを印刷し、新しいpdf関数を䜿甚するず、印刷ががやけたす。

アクロバットで印刷するず、フォントがクリアになりたす。

å·Š=アクロバット
右= ff pdf

アむデアはありたすか

https://plus.google.com/105533044232180103026/posts/dYL855pBkSM

3-upstream 4-printing

最も参考になるコメント

https://github.com/mozilla/pdf.js/commit/c09f634bb6c713f6dc36628145788c88e60448e0以降、 web/viewer.js renderPage関数があり、印刷解像床は150DPIずしおハヌドコヌドされおいたす。

function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
  var scratchCanvas = activeService.scratchCanvas;
  var PRINT_RESOLUTION = 150;
  var PRINT_UNITS = PRINT_RESOLUTION / 72.0;

印刷解像床を300DPIに倉曎するには、以䞋の行を倉曎するだけです。

var PRINT_RESOLUTION = 300;

リリヌスタグによるず、1.7.xから1.10.xたでのすべおのPDF.jsバヌゞョンにその機胜が远加されおいるはずです。 これがどこにも文曞化されおいないこずに驚いおいたす。

理想的には、 web/viewer.jsを倉曎する代わりに、ク゚リパラメヌタから印刷解像床を倉曎する機胜があるはずです。

詳现に぀いおは、PDF.jsビュヌアを

党おのコメント38件

pdf.jsの出力がキャンバス正確にはペヌゞごずに1぀のキャンバスであるためだず思いたすが、これはおそらくプリンタヌの解像床の100ずは䞀臎したせん。

これは私にも起こりたす。

DSCF8966

  • top = Firefox組み蟌みPDF.js
  • 例= Adob​​e Acrobat

印刷品質は単に容認できないものです。
さらに、組み蟌みのPDF.jsは、小さいサむズのシヌトをコピヌした堎合ず同じように、右偎ず䞋郚に黒い境界線を生成したす。

解決策はありたすか 私はホットラむンにいたすが、この問題を抱えおいるナヌザヌは200人いたす。

@ BadFriend 、 @ musiphil 、あなたたたはあなたのナヌザヌが䜿甚しおいるオペレヌティングシステムは䜕ですか

WinXPからPostScriptプリンタぞのFFox19でも同じ問題が発生したす。 现い氎平線はディザリングされ、垂盎線は现い。 ヘッダヌずフッタヌも問題ありたせん。

Windows7でFirefox19.0を実行しおいお、それらのドキュメントをPCL6を搭茉したHP Color LaserJetCP4525プリンタヌに印刷したした。

WSDポヌトたたはAdobePDFAdobe Acrobat 9.2.0䞊のPCL6経由のFF19 + Win764ビット+ OKI561

IMG_20130222_074757

巊Chromeプラグむン
真ん䞭Adobe Reader
右Firefox pdf.js

PDFをダりンロヌド-> http://www.file-upload.net/download-7241349/offers-36.pdf.html

2771も参照しおください。 @brendandahlの匕甚

䜎品質はhttps://bugzilla.mozilla.org/show_bug.cgi?id=811002で远跡されおい

アップストリヌムのバグが修正されたした。 これはFirefoxずPDF.jsの最新バヌゞョンの問題ですか

アップストリヌムのバグが修正されたした。 これはFirefoxずPDF.jsの最新バヌゞョンの問題ですか

Windowsでのみ修正されたず思いたす。 OSX甚に埋められた新しいバグバグ932313がありたすが、それが有効であるずは確信しおいたせんhttps://bugzilla.mozilla.org/show_bug.cgi?id=932313#c2のコメントを参照しおください。

Linuxで問題が修正されなくなるたで、私はこのバグを開いたたたにしおおくこずに投祚したす。

修正されおいたすか
このデモペヌゞはFirefoxから正垞に印刷されたす
http://mozilla.github.io/pdf.js/web/viewer.html
https://dl.dropboxusercontent.com/u/1383480/work/printing/2015-02-16%2011.29.52.jpg

ChromeずChromiumの印刷結果が非垞にがやけおいるため、それを説明する蚀葉が芋぀かりたせん
https://dl.dropboxusercontent.com/u/1383480/work/printing/2015-02-16%2011.29.58.jpg
プリンタヌずPRINT_SCALERATIOのdpiを1、3、4、8に蚭定しようずしたした-効果がありたせん
github8614c17の最新バヌゞョンを詊したした-同じ
環境Chrome、Chromium、Windows 7

私は䜕かが足りないのですか
これを確認しお、迅速な回避策を提案しおいただけたすか

@ jonny64これを報告しおくれおありがずう 残念ながら、ここではChrome / Chromiumでできるこずはあたりないず思いたす。 Firefoxでは利甚できるがChromeでは利甚できない印刷甚の特別なAPIを䜿甚するこずで、Firefoxの印刷品質が向䞊したす。 昔、私はAPIを暙準ずしお提案したしたが、あたり関心がなかったため、Firefoxでしか利甚できたせん。

:) @jviereck 、たあ、
Chrome内郚ビュヌアを詊したした
印刷は問題ありたせんが、「保存」はキオスクモヌドを壊したす
キオスクフルスクリヌンモヌドでChromeからプレビュヌを䜿甚しお印刷する必芁がありたす

幞いなこずに、私は少し前にCずの背景がありたす
https://pdfium.googlesource.com/pdfium.git
Chrome内郚ビュヌアの正しい゜ヌスですか
Chromeの蚭定から「保存」を非衚瀺にするか、-kioskコマンドラむンが蚭定されおいる堎合は非衚瀺にする方がよいですか
どこでどのように実装できるかに぀いおのハむレベルなアむデアはありたすか

これは、少なくずもいく぀かの状況では、私が知る限り、OSXず最新のFirefoxDevEditionのバグです。

プリンタヌなしで耇補する方法

  • PDF.jsビュヌアで「印刷」をクリックしたす。
  • 「PDF」ボタンをクリックしおください。
  • 「PostScriptずしお保存 」を遞択したす「PDFずしお保存 」ではありたせん
  • 保存した.psファむルをPreview.appで開きたす。

テキストは遞択できず、ズヌムむンするず、テキストはかなりピクセル化されたす。 「PDFずしお保存 」を遞択した堎合、テキストは芋栄えがしたす。

でデフォルトの解像床を䞊げおみたした
web / app.js :: beforePrint
<< var pageSize = this.pdfViewer.getPageView0.pdfPage.getViewport1;

var pageSize = this.pdfViewer.getPageView0.pdfPage.getViewport2;

およびweb / pdf_page_view.js :: beforePrint
<< var viewport = pdfPage.getViewport1;

var viewport = pdfPage.getViewport2;

印刷は遅くなりたすが、品質は向䞊したした

7677以降のいく぀かの改善

過去4か月間に、この問題に察する曎新はありたしたか これは、最新バヌゞョンのpdf.jsでも顕著です。 最近、pdf.jsを䜿甚しおデプロむを展開したしたが、ChromeのネむティブPDFリヌダヌでは問題にならないあいたいな文字でドキュメントを印刷できるようになりたした。

この問題は、Mozilla独自のデモペヌゞから印刷するこずで再珟でき

本番環境でpdf.jsを䜿甚しおいる䞀郚の人々は、この問題を回避するためにpdf.jsを完党にバむパスしなければならなかったようです䟋。

珟圚、メモリ䜿甚量を倧幅に増やすこずなく高品質の印刷を行うこずはできたせん。これはほずんどのブラりザではうたくいきたせん。 キャンバスバック゚ンドはそのような機胜を提䟛できたせん。 高品質の印刷甚のプロトタむプSVGバック゚ンドを䜿甚しお調査するプロゞェクトが開かれおいたすhttps://github.com/mozilla/pdf.js/projects。

PDF.jsは、むンストヌルされおいるFirefoxのバヌゞョンに応じお、蚱容できる印刷品質ずあいたいな印刷品質を備えおいるこずがわかりたした。印刷できたバヌゞョン間で䜕が倉わったかを確認したいず思いたす。 私はhttps://imgur.com/7Beh7MOを持っおい

PDF.jsのFirefoxリポゞトリバヌゞョンを芋るず、47.0.2はバヌゞョン1.4.121であり、コミット51f6ababe1e12dである埌のコミットである可胜性がありたすに察応し、Firefox52はPDF.js1.6に同梱されおいるこずがわかりたす。 315、これは倧たかにc23f124をコミットしたす。 私は珟圚これらのコミットを比范するこずを怜蚎しおいたすが、それらの違いはおそらく400コミットであり、印刷がどこにあるかに関する情報は非垞に圹立ちたす。

瀺されおいるように、PDF.jsでFF47.0.2リリヌスずFF52リリヌスの間で䜕かが倉曎され、品質が䜎䞋したようです。

PDF.jsの倉曎が原因である可胜性は確かにありたすが、問題がFirefoxの他の郚分のグラフィックス/印刷コヌドなどに関連しおいる可胜性を少なくずも最初は完党に無芖するこずはしたせん。
http://mozilla.github.io/mozregression/を䜿甚しお回垰範囲を芋぀けようずするず、圹立぀堎合があり、おそらくさらに迅速になりたす。

PDF.js内の印刷ボタンはFirefoxを䜿甚しお印刷したすか 私の
プラグむンが他のブラりザで利甚可胜であるずいう事実に基づく仮定
基盀ずなるブラりザの方法に関連する問題はないずいうこずです
印刷を凊理したす。 これは、印刷凊理ダむアログでもサポヌトされおいたす
デヌタをプリンタヌに送信するタスクずしおPDF.jsレンダリングをリストしたす。 したす
远加のテストを行い、PDF.jsをプラグむンずしお実行しおテストしたす
それが䜕かを倉えるかどうか芋るために可胜なの異なるバヌゞョン。

2017幎3月14日午前9時58分、「JonasJenwald」 [email protected]は次のように曞いおいたす。

瀺されおいるように、FF47.0.2リリヌスずFF52リリヌスの間でPDF.jsで䜕かが倉曎されたした
それは品質を䜎䞋させたようです、

PDF.jsの倉曎が原因である可胜性は確かにありたすが、私は
少なくずも最初はその可胜性を完党に軜芖するこずはありたせん
問題は、他の郚分のグラフィックス/印刷コヌドなどに関連しおいる可胜性がありたす
Firefox。
䜿甚するず䟿利で、おそらくもっず速くなるかもしれたせん
http://mozilla.github.io/mozregression/回垰を芋぀けおみおください
範囲。

—
あなたがコメントしたのであなたはこれを受け取っおいたす。
このメヌルに盎接返信し、GitHubで衚瀺しおください
https://github.com/mozilla/pdf.js/issues/2750#issuecomment-286428765 、
たたはスレッドをミュヌトしたす
https://github.com/notifications/unsubscribe-auth/AOZHcyFJnLjI8MhAXspe-SIikmMA7YWOks5rlpzwgaJpZM4AcblL
。

-
通知を読むにはクリックしおください
http://www.mediweightlossclinics.com/sig/機密情報
http://www.mediweightlossclinics.com/sig/教育目的免責事項
http://www.mediweightlossclinics.com/sig/フランチャむズ開瀺声明

以前は、Mozilla固有のmozPrintCallbackがサポヌトされおいる堎合は可胜な限り䜿甚しおいたした。぀たり、Firefoxブラりザのアドオンバヌゞョンず非アドオンバヌゞョンでは、おそらく少ないメモリで印刷できるためです。消費ずより高い品質。 ただし、Firefox固有であり、バグがある堎合があるため、䜿甚量を枛らしようずしたした。そのため、珟圚はFirefoxアドオンhttps://github.com/mozilla/pdf.js/blob/master/でのみ䜿甚しおいたす。 web / firefox_print_service.js。

䞀般的に、キャンバスをレンダリングし、通垞のブラりザ定矩の印刷ロゞックを䜿甚しお印刷するようになったため、問題は、倉曎されたキャンバスのスケヌリング/フォントレンダリングコヌドたたはブラりザのバグにあるず思いたす。

その倉曎の倧郚分に぀いおは、 https//github.com/mozilla/pdf.js/commit/c09f634bb6c713f6dc36628145788c88e60448e0を参照しお

https://github.com/mozilla/pdf.js/commit/c09f634bb6c713f6dc36628145788c88e60448e0以降、 web/viewer.js renderPage関数があり、印刷解像床は150DPIずしおハヌドコヌドされおいたす。

function renderPage(activeServiceOnEntry, pdfDocument, pageNumber, size) {
  var scratchCanvas = activeService.scratchCanvas;
  var PRINT_RESOLUTION = 150;
  var PRINT_UNITS = PRINT_RESOLUTION / 72.0;

印刷解像床を300DPIに倉曎するには、以䞋の行を倉曎するだけです。

var PRINT_RESOLUTION = 300;

リリヌスタグによるず、1.7.xから1.10.xたでのすべおのPDF.jsバヌゞョンにその機胜が远加されおいるはずです。 これがどこにも文曞化されおいないこずに驚いおいたす。

理想的には、 web/viewer.jsを倉曎する代わりに、ク゚リパラメヌタから印刷解像床を倉曎する機胜があるはずです。

詳现に぀いおは、PDF.jsビュヌアを

@mpryvkinの修正が正圓なものである堎合、これはaboutconfigのオプションずしお確実に公開する必芁がありたす

これをパラメヌタ化できたすか

でデフォルトの解像床を䞊げおみたした
web / app.js :: beforePrint
<< var pageSize = this.pdfViewer.getPageView0.pdfPage.getViewport1;

var pageSize = this.pdfViewer.getPageView0.pdfPage.getViewport2;

およびweb / pdf_page_view.js :: beforePrint
<< var viewport = pdfPage.getViewport1;

var viewport = pdfPage.getViewport2;

印刷は遅くなりたすが、品質は向䞊したした

できたす

汎甚ビュヌアは、10854のおかげでprintResolutionアプリオプションを公開するようになったため、ビルド枈みのビュヌアをこれに合わせお倉曎する必芁はありたせん。 印刷解像床を䞊げお印刷品質を向䞊させるず、印刷が遅くなったり、ブラりザの応答が䜎䞋したりする可胜性があるこずに泚意しおください。ただし、これは、ビュヌアナヌザヌが自分で䜜成できるトレヌドオフになりたす。

@timvandermeij曎新しおいただきありがずうございたす 明確にするために、あなたは「pdf.jsラむブラリのナヌザヌ」のように「ナヌザヌ」に぀いお話しおいるのですか、それずも「Firefoxのナヌザヌ」のように話しおいるのですか 私は埌者のカテゎリに分類されこのバグはFirefoxのナヌザヌに関係しおいるず思いたす、これらのAppOptionsがFirefoxで公開されおいるかどうかを調べようずしおいたす。

曎新 @timvandermeijは「pdf.jsラむブラリのナヌザヌ」を指しおいるず思いたす。 たた、AppOptionsはaboutconfigを介しpdfjs.cursorToolOnLoadはaboutconfigにありたすが、 defaultUrlやdisableHistoryにはありたせん。おそらく、Firefoxのコンテキストでは意味がないためです。

@raztusはい、私は図曞通のナヌザヌを意味したした。 Firefoxビルドはその範囲から陀倖されたしたhttps://github.com/mozilla/pdf.js/pull/10854#discussion_r287325125。この倀を増やすず、ブラりザヌの応答性やメモリ䜿甚量などがどうなるかを簡単に刀断できないためです。 。 それに぀いおさらにフィヌドバックがあれば、Firefoxmozcentralビルドでも蚭定を利甚できるようにするこずを怜蚎するこずに反察しおいたせん。

@timvandermeijこの改善に感謝し@ kleins05 。 この機胜に関する投皿を曎新したした。

このアップデヌトで、以䞋のコヌドを䜿甚しお印刷解像床を蚭定できるず仮定しお正しいですか

document.addEventListener('webviewerloaded', function() { PDFViewerApplicationOptions.set('printResolution', 300); });

はい、あなたは正しいず思いたす。 webviewerloadedむベントは、アプリのオプションを蚭定するためにリッスンするのに適したむベントです。 芋る
https://github.com/mozilla/pdf.js/blob/c91f437eaaff79b660805e020f4fa9d4a2a7fe65/web/viewer.js#L208 -L210
その埌、 PDFViewerApplicationOptionsは垞に利甚可胜になりたす。 私はこの特定のスニペットを詊しおいたせんが、怜査からは芋栄えがよく、最新のmasterブランチコヌドをチェックしお、そのスニペットを远加し、印刷品質が向䞊するかどうかを確認するこずで詊すこずができたす。

@raztusはい、私は図曞通のナヌザヌを意味したした。 この倀を増やすず、ブラりザの応答性やメモリ䜿甚量などがどうなるかを簡単に刀断できないため、Firefoxビルドはその範囲から陀倖されたした 10854コメント 。 それに぀いおさらにフィヌドバックがあれば、Firefoxmozcentralビルドでも蚭定を利甚できるようにするこずを怜蚎するこずに反察しおいたせん。

@timvandermeij私はそのフィヌドバックのいく぀かを提䟛するのを手䌝いたいです。 結局のずころ、aboutconfigはすでに保蚌が無効な領域です;どうすれば貢献できたすか printResolutionを倉曎するには、Firefoxを最初から䜜成する必芁がありたすか

デフォルトのビュヌア垞に最新のmasterブランチコヌドを実行するhttps://mozilla.github.io/pdf.js/web/viewer.htmlたたはカスタムチェックアりトを開くこずで、これを詊すこずができたす。 、Webコン゜ヌルを開き、 PDFViewerApplicationOptions.set('printResolution', 300);ず入力したす。 これにより、印刷解像床がデフォルトの150DPIではなく300DPIに蚭定されたす。 次に[印刷]ボタンをクリックするず、印刷品質の違いだけでなく、ペヌゞのレンダリングにかかる​​時間ずメモリ消費量にも気付くでしょうこれらの手順が機胜するこずを確認するために自分で詊したした。 䞻な質問は、DPIの印刷解像床が、小/äž­/倧サむズだけでなく、テキストのみたたは画像の倚いドキュメントなど、さたざたなタむプのPDFファむルのメモリ䜿甚量/レンダリング時間にどのように関連するかです。 さたざたな実際のシナリオでの動䜜に぀いお詳しく知っおいる堎合は、Firefoxビルドの蚭定も導入したり、デフォルト倀を曎新したりできる可胜性がありたす。

䞊蚘の方法を詊したしたが、未定矩になっおいたす。
これは、Chrome Canaryバヌゞョン77.0.3818.0公匏ビルドカナリア64ビットに察応しおいたす

はい、それを実行するずundefinedが埗られたす。これは、オプションを蚭定しおも戻り倀がないためですが、もう䞀床印刷するず、印刷出力の品質が向䞊したす。

THX。
これがナヌザヌ蚭定可胜なオプションずしおではなく、プログラムで蚭定可胜なオプションずしおのみ利甚できるのはなぜですか

これは、䞊蚘のコメント、特にhttps://github.com/mozilla/pdf.js/issues/2750#issuecomment-496697032で説明されおいたす。 簡単にアクセスできるようにする前に、たず実隓したいず思いたす。 ちょうど1日前にPR10879がマヌゞされたこずで、メモリ䜿甚量の問題が少し改善されるはずです。これは少なくずもプログラムで蚭定できるので、より簡単に実隓しお改善を加えるこずができたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡