3

Mac のプレビューで 3 ページの PDF ファイルを開いています。ファイルに変更を加えずに cmd-s を押してファイルを保存すると、ファイルのバイナリ コンテンツが大幅に変更されます。どうしてこれなの?

私のプロセスのせいで、これが事実であることがわかります:

  1. PDF の複製コピーを作成する (cp a.pdf b.pdf)

  2. vimdiff a.pdf b.pdf (変更なし、まったく同じ内容)

  3. プレビューで a.pdf を開く (編集しない)

  4. vimdiff a.pdf b.pdf (変更なし、まったく同じ内容)

  5. cmd-s を押します (pdf を保存)

  6. vimdiff a.pdf b.pdf (大量の変更、pdf のメタデータをはるかに超える)

変更が加えられていないにもかかわらず、PDF が「再書き込み」される理由/方法を誰かが説明できますか?

4

2 に答える 2

4

実際、Preview は、Quartz 以外のアプリケーションによって最初に作成された PDF を初めて保存する際に大幅に書き直します。

PDF のデバッグで生計を立てています。

そして、提供されたサンプル PDF が Quartz によって変更されていることを発見するとすぐに、報告された問題 (最も単純な問題であっても) を修正する方法を顧客に提案することは絶対にしないことを今では習慣にしています (幸いなことに、Apple はその関与を認めています)。または同様の方法で/Producerメタデータ キーを更新することによってMac OS X 10.7.4 Quartz PDFContext):

  • この PDF が説明されている問題を示した元の PDF だったのか、それとも顧客が単に元の問題の PDF を MacBook 経由でメールしようとしていて、メール アプリの操作中に意図せずに再保存して PDF を書き直したのか、私にはわからないからです。

  • そのため、Quartz/Preview によって台無しにされたものではなく、特定のバグや問題を示す元の PDF ファイルを分析できることを保証する、Apple の顧客との手順を最初に確立する必要があります。約1年前に問題を発見する前に、間違ったファイルを「分析」するためにかなりの工数日を無駄に費やしました....

Apple カルトの真の信者の多くは、この動作を認識しておらず、プリプレスのプロの多くもそれについてまったく無知です。

PDF を 2 回目に保存すると、/ModDateメタデータ キーのみが更新される可能性があります (Mac で新しいバージョンの Quartz を使用している場合を除く)。問題のPDF。


更新(いくつかの追加情報を含む)

ところで、私にとっては、単純なヒットではまだ PDF が変更され[cmd]+[s]ません。しかし、私は Mac OS XLion 10.7.4で Preview.app を使用していVersion 552 (719.23)ます。Lion では、ファイルを新しい名前で保存することによって変更がトリガーされます ( Duplicate => Save... )。

k00k は、Preview.app を使用して Mac OS XMountain Lion 10.8.1にあるようですVersion 6.00 (765)。彼にとって、変更をトリガーするには、単純なヒットで[cmd]+[s]十分です。


(私は、Apple がプレビューされた PDF ファイルに加えた変更が必ずしも悪いと言っているわけではありません。かなりの場合、これにより、破損したファイルが黙って「修復」され、「ユーザーフレンドリー」な動作であると主張される可能性があります。ファイルに新しい値をスタンプするメタデータを超えて、PDF の問題のトラブルシューティングを非常に困難にする可能性がある変更 (良いことか悪いことかは関係ありません) があると言っています...)/ModDate

于 2012-09-20T20:52:30.037 に答える
1

私は Preview アプリケーションのソース コードを持っていないので、確かなことは言えません。ロードされたのと同じデータを保存しているだけではなく、「同等の」PDF ファイルを再構築しているように見えます。

さらに、PDF ファイルが「再作成」されると、常に異なる項目がいくつかあります (一意の ID、最終日時の変更など)。

于 2012-09-20T19:06:50.600 に答える