最初のコメント:
2番目のステップには、非常に多くの欠点があります。PDF を PostScript に変換してから再度 PDF に変換すると、品質が低下します。このプロセスは「PDF の再フライング」と呼ばれ、一般的に PDF の専門家から嫌われています。(理由としては、結果として得られるファイルがスキャン不良のように「ぼやけて見える」、ファイルに埋め込まれているフォントが失われている、ファイルが元のフォントを置き換えている、ファイルの透明度が確実に失われている、画像の解像度が変更されている、色が変更されているなどがあります... .)
「再揚げ」以外に選択肢がない場合もありますが、ここではそうします。
Ghostscript を使用すると、PDF ファイルの PDF から PDF への直接変換を行うことができ、内部で隠れた PostScript 変換が行われることはありません。(これは Ghostscript の非常にめったに知られていない機能であるため、通常、この回答は多くの賛成票に値します ;-P )。
内部 LZW 圧縮を取り除きたいので、Ghostscript でそれを行う方法は次のとおりです。
Ghostscript ソース コード リポジトリから入手できる、PostScript 言語で記述された小さなユーティリティ プログラムをダウンロードします: pdfinflt.ps
次のコマンドラインを実行します。
gswin32c.exe -- [c:/path/to/]pdfinflt.ps input.pdf output.pdf
更新:これは pdfinflt.ps の最新バージョンにリンクしています。その後、このコミット メッセージで削除されました。
pdfinflt.ps と pdfwrite.ps を削除します。
-----------------------------------
pdfwrite は、(私が見る限り) pdfinflt.ps によってのみ使用されます。
% まだゴールデンタイムには間に合わないが、誰でも利用できる
% 修正します。
%
% 主な問題は次のとおりです。
%
% 1. 書き込まれた PDF ファイルが壊れていることがあります。彼らがいるとき
% 壊れています。GS で外部参照の問題が発生します。
%
% この問題は実際には lib/pdfwrite.ps が原因です。
% 無変換の場合、ファイルが悪い可能性があります。
それは機能しないため、MuPDF(機能する)を使用できます
同じタスクで、これらのファイルを両方とも削除することにしました。
結果の PDF は、 PDF ==> PS ==> PDFの再フライによって品質を失うことなく、すべての内部データ ストリームを解凍します。
2 番目のコメント:
pdftk
別のツール、つまり***を使用して 4 番目のステップを実行する必要があると思います。これには、手順 1. と 2. を完全に実行する必要がなくなるという利点があります。
pdfk (PDF ToolKit、ダウンロードはこちら) はコマンドライン ユーティリティであり、Linux、Unix ( pdftk
)、および Windows ( pdftk.exe
) で使用できます。これは、2 つの PDF のページを重ね合わせるなど、PDF で多くのことを行うことができます。そんな方におすすめしたいのがこちら。pdftk は、ステップ「3」の PDF をオーバーレイできます。最初にそれぞれをデフレートまたは de-LZW する必要なく、一度に元の PDF (またはその逆) に変換できます。
テストするコマンドは次のとおりです。
pdftk.exe ^
original.pdf ^
background pdf-from-userinput-step3.pdf ^
output merged.pdf
pdftk.exe ^
pdf-from-userinput-step3.pdf ^
background original.pdf ^
output merged.pdf
pdftk.exe ^
original.pdf ^
stamp pdf-from-userinput-step3.pdf ^
output merged.pdf
pdftk.exe ^
pdf-from-userinput-step3.pdf ^
stamp original.pdf ^
output merged.pdf
stamp
とbackground
コマンドの違いについて疑問に思われるかもしれません。コマンドは、その名前が示すように、PDF ページをフォアグラウンドまたはバックグラウンド レイヤーに配置します。両方の PDF の背景が透明である場合 (白一色の不透明ではなく)、多くの場合、結果は同じように見えます。