【Aspose.PDF】 XPSファイルをPDFへと変換した際のOCR情報について

Aspose.PDFを用いて以下の順番でPDFファイルを作成しています。
順番:任意のファイル⇒XPSファイル⇒PDFファイル

この時作成したファイルに以下の現象が発生しています。
①任意のファイルがOfficeファイル(Word等)の場合最後のPDFファイルにOCR情報が残っている
②任意のファイルがPDFファイル(OCR情報がある)の場合最後のPDFファイルからOCRが消えている

②について、PDFファイル⇒XPSファイルへと変換する際には
「XpsSaveOptions.SaveTransparentTexts = true;」とすればXPSの時点ではOCR情報を保持したままになっていることを確認しています。
しかし、OCR情報を持ったXPSファイルをPDFファイルへと変換した際にOCR情報が消えてしまいます。
どのように変換すればPDFファイルへの変換時にOCR情報を保持したままにできるでしょうか?

@naoto_mori

タイムリーで正確な応答を保証するために、テスト用に次のリソースをここに添付してください。

  • 入力PDFドキュメント。
  • 望ましくない動作を示す出力ファイルを添付してください。
  • 目的の動作を示す期待される出力ファイルを添付してください。
  • 問題を再現するのに役立つスタンドアロンのコンソールアプリケーション(コンパイルエラーのないソースコード)を作成し、テスト用にここに添付してください。

これらの情報の準備が整い次第、問題の調査を開始し、より多くの情報を提供します。 ご協力いただきありがとうございます。

返信が遅くなってしまい申し訳ありません。

ご依頼のあったもの用意いたしました。
ファイルを添付いたしましたのでご確認いただければと思います。
内容はzipファイルに以下のものを配置しております。
・sample.zip
sample.xps
sample1.pdf
sample2.pdf
sample3.pdf
XpsToPDF.cs

まず、sample.xpsはsample3.pdfから作成されたものになります。
そしてASPOSE様のライブラリを利用して、XpsファイルからPDFファイルに変換すると正しく変換されていないように思っています(詳細は以下に記載)。

添付ファイルの「XpsToPDF.cs」にはメソッドを2つ作成しております。
これらのメソッドはどちらもxpsファイルを取り込み、pdfファイルを出力するものとなっています。
これらメソッドを試した結果、どちらも正しくPDF変換されていません。
片方はOCR情報が消える(sample1.pdf)、片方はOCR情報が二重になる(sample2.pdf)動作をしています。

以下要求されたことに対する回答の紐づき

  • 入力PDFドキュメント。 ⇒ sample.xps
  • 望ましくない動作を示す出力ファイルを添付してください。 ⇒ sample1.pdf、sample2.pdf
  • 目的の動作を示す期待される出力ファイルを添付してください。⇒ sample3.pdf
  • 問題を再現するのに役立つスタンドアロンのコンソールアプリケーション(コンパイルエラーのないソースコード)を作成し、テスト用にここに添付してください。⇒ XpsToPDF.cs

ご確認の程よろしくお願いいたします。

sample.zip (891.4 KB)

@naoto_mori

私たちは、私たちの側で同じ問題を再現することができました。 訂正のために、この問題を問題追跡システムにPDFNET-51305として記録しました。 この問題が解決されると、このフォーラムスレッドを介して通知されます。

ご不便をおかけして申し訳ございません。

@naoto_mori

XPSをPDFに変換したところ、コンテンツがPDFで複製されていることがわかりました。 この問題をPDFNET-51305として記録しました。

残念ながら、(OCRが最後のPDFファイルから消えた)に関連する問題は明確ではありません。 問題のスクリーンショットと一緒に、このクエリに関する詳細を共有していただければ幸いです。 別途ログに記録します。

早速の回答をありがとうございます。

回答の内容からすると、
OCR情報が消える現象については再現しなかったという認識でよいでしょうか?

これについては、先日提供させていただいたファイルを用いて再現させることが可能です。
「XpsToPDF.cs」には「XpsConverter1()」と「XpsConverter2()」を用意しています。
このうち「XpsConverter1()」を利用してXpsファイル(sample.xps)をPDFファイルへと変換すると再現させることが可能です。
「XpsConverter2()」を用いると、OCR情報が複製されることが確認できます。

その他にどのような情報が必要でしょうか?

以上です、よろしくお願いいたします。

@naoto_mori

XpsConverter2メソッドを使用して、重複コンテンツの問題を再現しました。 重複したコンテンツではなく、レンダリングの問題のようです。

XpsConverter1によって生成されたsample1.pdfは、期待される出力sample.pdfと同じです。 残念ながら、この問題については明確ではありません。

OCR情報が消えるとはどういう意味ですか? XpsConverter1によって生成された問題のスクリーンショットを共有してください。 ご協力いただきありがとうございます。

確認ありがとうございます。

XpsConverter1メソッドを用いて起きる現象ですが、
OCR情報が消えるというのはPDFファイル上にあるテキストデータが消えることを指しています。

現象が発生している状態のスクリーンショットを添付いたします。

「sample1.jpg」は「sample1.pdf」を開いたもの、
「sample3.jpg」は「sample3.pdf」を開いたものになります。

これらついてみていくと、まず「sample3.jpg」では文字検索でヒットし、またテキストデータを選択することが可能になっていると思います。画像は用意していないですが「sample.xps」でも同様。
しかし「sample1.jpg」では文字検索でヒットせず、テキストデータを選択することができないようになっています。
この「sample1.jpg」の状態になったことがOCR情報が消えたと思っております。

つまり、「sample3.pdf」から作成された「sample.xps」を「XpsConverter1メソッド」を用いて「sample1.pdf」を作成した際にOCR情報が消えてしまっていると認識しています。

ちなみに、利用させていただいているASPOSEのバージョンは「20.11.0」です。

sample1.jpg (103.9 KB)
sample3.jpg (129.3 KB)

以上です、よろしくお願いいたします。

@naoto_mori

PDFNET-51305 の修正後、正しい出力が得られ、出力PDF内のテキストが検索されます。 したがって、XpsConverter1の個別の問題をログに記録する必要はありません。

返信が遅れてしまい申し訳ありません。
PDFファイルのテキスト情報が消えてしまう再現が取れていないことを承知しました。

しかし、こちらの環境で実行するとどうしても消えてしまいます。
そこで再度プログラムを提供させていただきます。
今回は簡単なソリューションファイルごと提供いたします。
ただし、ライセンスファイル、ASPOSE.DLLファイルは含めておりません。

今一度再現するか確認をお願いできますでしょうか?

また念のため確認ですが、「sample.xps」ファイルを対象にして「XpsConver1」メソッドを実行し作成されたPDFファイルで確認されていますか?

sample2.zip (254.2 KB)

以上です、よろしくお願いいたします。

@naoto_mori

sample1.jpgから、XpsConver1メソッドで作成されたPDFからテキストを検索すると、テキストが検索できないことがわかります。

この問題は、問題追跡システムにPDFNET-51360として記録されています。 この問題が解決されると、このフォーラムスレッドを介して通知されます。

XPSをPDFに変換するためにアプローチ(XpsConver1)を使用する理由を教えてください。 XPSからPDFへの変換にはXpsConver2を使用するだけです。 XpsConver2に関連する問題は修正されており、その修正はAspose.PDFの次のバージョン(22.2)で利用できるようになります。

あなたはテキスト情報が消えると言います。 PDFでテキストを検索できないと言いたいようです。 ユーザーはPDF内のテキストを検索できません。 理解が正しければ確認してください。

説明の文言に統一性がなくて申し訳ありません。
テキスト情報=OCR情報と理解していただければと思います。
こちらが問題視している現象は、「XPSファイルをPDFファイルへと変換するとPDFファイル内で文字列検索ができなくなること」です。このように理解していただければ問題ありません。

つまり言い換えるとこれは「XPSファイルにあったOCR情報がPDFファイルへと変換するにあったOCR情報が消えてしまっている」ということになります。

申し訳ありませんこちらの認識が間違っていた可能性がありました。
最終的に現在の状況として以下の認識でよろしいでしょうか?

①「XpsConver1」でXPSファイルからPDFファイルを作成する
⇒ PDFファイルのOCR情報が消えることが再現ができた
⇒「PDFNET-51360」で管理しており、修正の見込みはまだ見えていない

②「XpsConver2」でXPSファイルからPDFファイルを作成する
⇒ PDFファイルのOCR情報が二重になっていることが再現できた(レンダリングの問題)
⇒「PDFNET-51305」で管理しており、Aspose.PDFの次のバージョン(22.2)で修正される

何かこちらの認識で間違い等あればご指摘ください。

以上です、よろしくお願いいたします。

@naoto_mori

詳細を共有していただきありがとうございます。

XpsConver1でPDFファイルを作成したときにPDFファイルのOCR情報が消えてしまったことをどのように確認しているか教えてください。

The issues you have found earlier (filed as PDFNET-51305) have been fixed in Aspose.PDF for .NET 22.2.

OCR情報が消えていることの確認方法は以下になります。
①PDFファイル内で文字検索をした際にヒットしない
②PDFファイル内で「マウスクリック+ドラッグ」をした際に文字領域が選択できない

以前添付させていただいた「sample1.png」がその状態になります。
一方で「sample3.png」では上記①②どちらの現象も起きず、OCR情報がある状態と判断しています。

何かこちらが誤ったことを記述している場合はご指摘ください。

また、「PDFNET-51305」は「Aspose.PDF for .NET 22.2」にて修正されること承知しました。

以上です。

@naoto_mori

詳細を共有していただきありがとうございます。 この詳細を問題追跡システムに記録しました。

The issues you have found earlier (filed as PDFNET-51360) have been fixed in Aspose.PDF for .NET 22.3.

Continuing the discussion from 【Aspose.PDF】 XPSファイルをPDFへと変換した際のOCR情報について:

ご連絡ありがとうございます。
早速3月にリリースされたdllを用いて動作確認させていただきました。
しかし、以前お伝えしていた「XpsConver1」でPDFファイルを作成したときにPDFファイルのOCR情報が消えてしまう件については修正されていないように思います。

「XpsConver1」で変換して作成されたpdfファイルからはocr情報が消えておりました。
修正後にocr情報が削除されないことを確認されたということですが詳細をお教えいただければと思います。

@naoto_mori

参考までに、問題のある出力PDFファイルと予想される出力PDFファイルをここで共有していただけますか? この問題をさらに調査し、詳細情報を提供します。

返信ありがとうございます。
以前も同じようにサンプルは提供させていただいておりますが、再度いたします。

zipファイル内の以下のファイルがそれぞれ要求された状態のpdfファイルになります。

問題のある出力PDFファイル⇒sample1.pdf
予想される出力PDFファイル⇒sample2.pdf

どちらPDFファイルももsample.xpsから作成したものになります。

確認をお願いいたします。

sample.zip (674.9 KB)