web-dev-qa-db-ja.com

a PDF to PDFを印刷すると、品質が低下しますか?

非常に長いウェブサイトのPDFがあります。その一部を読んだ後、無関係なページがあると判断しましたが、削除するたびにウェブサイトを見つけるのではなく、ページ、私はそれをPDFに印刷し、印刷するページを選択しないでください(CUPS-PDFを使用)。これは、特に複数の場合、PDFの品質を低下させますか?何度も?私が探しているものを達成するためのより良い方法はありますか?私はPDFEditを試しましたが、結果はまちまちで、もっと信頼できるものが欲しいです。もちろん、いつでもサイトに戻って新しいバージョンを保存できます。私が望まないそれらのページを無視するのと同じテクニック。

7
Kazark

原則として、品質を損なうことなくPDF世代で終わるプログラムのチェーンを通じて、PDFを印刷することが可能です。

知覚的に損失のない変換を保証するには、2つの主要なことが発生する必要があります。

  1. チェーン内のすべてのリンクは、すべてのドキュメント要素を理解し、それらをチェーン内の次の部分にロスレスで渡すことができる必要があります。

    • ドキュメントに埋め込みフォントが含まれている場合は、フォントをPDFライターが見つけて再埋め込みできる場所にインストールするか、埋め込みフォントを何らかの方法でチェーンに渡す必要があります。

    • ドキュメントに埋め込みアプレット(JavaScript、Flash、Postscript ...)が含まれている場合は、そのまま渡す必要があります。

    • ドキュメントにハイパーリンク、アクティブフォーム、OCRテキストレイヤー、カスタムページ番号、非印刷マークアップ、コメント、メタデータなどが含まれている場合、チェーン上のすべての部分がこのデータをライターに渡す方法を知っている必要があります。

    • ドキュメントに混合ページサイズが含まれている場合、チェーン内のプログラムもそのトリックに対応できる必要があります。

  2. チェーン内のリンクは、それを通過するデータを再解釈することはできません。たとえば、PDFチェーンでは、画像がリサンプリングされ、より効率的な不可逆形式に変換されるのが一般的です。元のPDF低DPIJPEGの場合、チェーン内のピースは異なるDPIを選択するか、異なる圧縮レベル設定を持つ可能性があります。

    (ちなみに、PDFからPDFへのチェーンの両端にJPEGがあるという事実は、技術的には、生のJPEGデータがそのまま渡されない限り、チェーンがロスレスではないことを意味します。ただし、再圧縮ステップが知覚的に無損失である可能性がありますが、これは常に発生するとは限りませんが、意図的に発生する場合もあります。)

これまで、私は知覚の質のみを考慮してきました。知覚的にロスレス変換を実現することは可能ですが、編集可能性を失うか、ファイルが大幅に大きくなります。

  • PDFプライマリソースから作成されたテキストを含むドキュメント(つまり、他のドキュメント表示形式からのスキャンや変換ではない)には、通常、実際のテキストとフォントデータが含まれています。 PDFリーダーは、ワードプロセッサと同じ方法で画面にテキストを描画します。

    このようなテキストを、知覚的にロスレスな方法で2Dラスターまたはベクターアートに変換することができます。 PDFは、印刷されないOCRテキストレイヤーを使用して、検索性とスクリーンリーダーのアクセシビリティを維持することもできます。ただし、このような変換を行うと、ファイルサイズが膨らみ、編集がはるかに困難になります。

  • ベクターアートは、印刷/表示DPIと等しいかそれ以上のDPIを使用してラスタライズできます。

  • チェーンはすべてのJPEGをTIFFに変換して、画質をまったく失わないようにすることができます。

  • チェーンには、DPIを変更せずにJPEGからJPEGを含めることができますが、知覚可能なアーティファクトの作成を回避するために、高い固定品質設定を使用します。

あなたの単純なケース、ページを削除する場合、PDFファイル形式を十分に理解してページデータを単純に削除するプログラムを使用すれば、損失のない保証を得るのはかなり簡単です。 PDF多かれ少なかれスタンドアロンであるため、これは完全に実行可能です。特定のPDFバリアントを十分に理解しているツールを見つけることだけが問題です。既存のファイルはでエンコードされます。PDFは非常に複雑なファイル形式であるため、PDFは、実際には部分的なサポートしかないと主張するプログラムでは一般的です。 。PDFを100%理解するプログラムはAdobe AcrobatProだけかもしれません。PDF)を扱う他のすべてのプログラムが実際にあることを知っても驚くことではありません。サブセットを話します。

結論として、PDF-via-print-from-PDFチェーンがそのような品質保証を提供することは期待していません。解釈と仲介の機会が多すぎます。

10
Warren Young

私があなたの主な目標を正しく理解していれば、PDFへの印刷に煩わされる必要はありません。 pdftk のようなコマンドラインツールを使用して、a =から直接ページのセットを抽出できます。 PDFファイルを作成し、新しいファイルとして保存します。(最適化、パスワードの追加/削除、一部のページの回転など、さらに多くの操作が可能です。)このツールは(おそらく)すべてのデスクトップLinuxディストリビューション。

使用する主なpdftk操作はcatです。非常に直感的に機能します。例:

pdftk input_file.pdf cat 3-23 50-end output output_file.pdf

元のoutput_file.pdfファイルの終わりまで、3〜23ページと50ページで構成されるファイルinput_file.pdfを作成します。その他の例については、man pdftkを調べてください(マニュアルの最後にあります)。

5
rozcietrzewiacz

一般的に、いいえ、品質の低下は発生しないはずです。もしそうなら、プログラムはフォーマットではなく、責任がある。品質の低下と解釈される可能性のあるいくつかのことが発生する可能性があります。

  • 画像が再圧縮される可能性があります(ジェネレーションロスを引き起こす可能性があります)
  • テキスト(およびその他のベクトル)がスプラインに変換され、ユーザビリティの問題(テキストをコピーできない)などが発生する可能性があります。

私はCUPS-PDFまたはPDFEditを使用したことがないので、これらは何が起こるかについての単なる仮定です。つまり、それらが発生する可能性があるかどうかはわかりません。

3
Chris Down