画像のあるページでは Ghostscript テキストは選択できません

画像のあるページでは Ghostscript テキストは選択できません

通常のコンパイル後、次のghostscriptコマンドを使用して PDF ファイルを処理し、(おそらく)PDF/A 準拠のファイルを作成します。

gs -dPDFA
   -sDEVICE=pdfwrite
   -dPDFACompatibilityPolicy=1
   -dPrinted=false
   -dPDFSETTINGS=/printer
   -dSAFER
   -dNOPAUSE
   -dQUIET
   -dBATCH
   -dNOOUTERSAVE 
   -sColorConversionStrategy=UseDeviceIndependentColor
   -sProcessColorModel=DeviceRGB
   -sOutputFile=thesis.pdf
   main.pdf pdfmarks

これはほとんど機能します (PDF ビューアに機能するアウトラインがあり、ハイパーリンクも機能するようになりました)。ただし、1 つ問題があります。画像を含むページを除き、ほぼすべてのページでテキストを選択およびコピーできます。画像が別の PDF であるか PNG であるかは関係ありません。ただし、Tikz 画像と MetaFont 画像は問題ありません。

このコマンドの以前の反復では、 と なしで、別のPDFSETTINGS、 、を試しました。/prepress-dSAFER-dPrinted=false

元の PDF ファイルは でコンパイルされますpdflatexが、違いがあるわけではありません。

ほとんどすべての Ghostscript ドキュメントに「テキスト」と「イメージ」という単語が含まれているため、この質問の調査は非常に困難です。

答え1

まず最初に、pdflatexまたはを使用して PDF/A 準拠の PDF を直接作成することに力を入れます。これにより、有効な PDF/A が直接作成されます。lualatex

\documentclass{article}

\usepackage[pdfa]{hyperref}
\usepackage{hyperxmp}[2020/03/01]

\author{me,him}
\title{How to create a PDF/A-1b document}

\immediate\pdfobj stream attr{/N 3} file{sRGB.icc}
\pdfcatalog{%
  /OutputIntents [ <<
    /Type /OutputIntent
    /S /GTS_PDFA1
      /DestOutputProfile \the\pdflastobj\space 0 R
    /OutputConditionIdentifier (sRGB IEC61966-2.1)
    /Info(sRGB IEC61966-2.1)
  >> ]
}

\begin{document}

lorem ipsum \url{http://stackexchange.com/}

\end{document}

この例では、Acrobat DCで検証します。そしてverapdf 1.14.8 は、LuaLaTeX と pdfLaTeX の両方でコンパイルされ、最新のパッケージが使用されています。
事前検証結果
Graipher のフォント設定が怪しいようです。

後で画像を含める場合は、すでに pdf/a を検証している pdf を含めることをお勧めします。カラー プロファイルが埋め込まれた jpg 画像は機能しますが、一部の検証ツールでは、埋め込まれた画像のメタデータが PDF/A に準拠していることを要求します。これは、Acrobat Pro なしでは実現が困難です。Ghostscript でも同じ問題に遭遇するでしょう。PNG は、埋め込まれたカラー プロファイルを提供しないため機能しません。

答え2

私も同様の問題を抱えていましたが、-dCompatibilityLevel=1.4 からに変更することで解決しました-dCompatibilityLevel=1.3

ただし、その理由は分かりません。

関連情報