私は、次のパラメータに既存のPDFファイルをプリフライトするタスクがあります。プリフライトPDF-ファイル
- 従っ埋め込みフォントとテキストレイヤーで使用されるフォントを。
- ドキュメントの物理的なサイズ(幅と高さ(mm))。
- 各画像レイヤーおよびドキュメント全体のカラープロファイル。
- 文書のブリード/トリム/アートボックス。
私はそれを.netフレームワークで行う必要があります。 提案がありますか?
私は、次のパラメータに既存のPDFファイルをプリフライトするタスクがあります。プリフライトPDF-ファイル
私はそれを.netフレームワークで行う必要があります。 提案がありますか?
私はバイアスされています(コミッター)が、私はiTextを使用することをお勧めします。
「レイヤー」という言葉を使用すると、PDFで通常「レイヤー」が意味することを意味するわけではありません。
PDFでは、レイヤーは「オプションのコンテンツグループ」とも呼ばれます。与えられたページの一部で、ロジックのさまざまなビット(現在のズームレベルなど)を使用してオンとオフを切り替えることができます。
PDFのテキストと画像は、任意の深度/ Zの順序を持つことができます。テキストはイメージの上に置くことができます。これは他のテキストと重なり合うことがあり、他のイメージに上書きすることができます。そのようなことはあまり頻繁に起こることはありませんが、が可能です。です。
私が理解しているのはです。座標&は、すべてのテキストと指定されたページの画像の状態をグラフィックにします。
かなり新しいparserパッケージのおかげで、iTextはこれを行うことができます。特に、RenderListenerのPdfReaderContentParserがあります。
あなたのrenderTextとrenderImageの実装では、必要なものすべてを保存/検査します。
これは、1と3の方法のほとんどを得ます。色/埋め込み情報を掘り起こすには、PdfDictionary
などの低レベルの切り取りと、PDF Specificationの知識が必要です。
数字2と4は、あなたの言い方に基づいてちょっとファンキーですが、現実はかなり単純です。
PDFページは、5つの箱を持つことができます。必須
これらの「Xへのデフォルト」はすべて暗黙的です。トリムボックスを要求すると、 "null"が表示されることがあります。この場合、トリミングボックスを確認するのは自分の責任です。もう一度ヌルを取得したら、メディアボックスをチェックする必要があります。
物理的な寸法を尋ねるときには、メディアボックス、クロップボックス、またはトリムボックスを意味する可能性があります(ただし、明示的に後で言及するので疑いがあります)。
これらの他のボックスの1つを知りたいときは、その値が存在しないときの状態を知る必要があります。
これは理論です。ナットとボルトの時間(Java):
Rectangle[] getBoxen(PdfReader reader, int pageINDEX) {
Rectangle retRects[] = new Rectangle[5];
retRects[0] = reader.getBoxSize(pageINDEX, "media");
retRects[1] = reader.getBoxSize(pageINDEX, "crop");
retRects[2] = reader.getBoxSize(pageINDEX, "trim");
retRects[3] = reader.getBoxSize(pageINDEX, "art");
retRects[4] = reader.getBoxSize(pageINDEX, "bleed");
// handle defaults
// crop box defaults to media box
if (retRects[1] == null) {
retRects[1] = retRects[0];
}
// everything else defaults to the crop box
for (int i = 2; i < 4; ++i) {
if (retRects[i] == null) {
retRects[i] = retRects[1];
}
}
return retRects;
}
あなたの答えをありがとうございますが、iTextは商用のSaaSアプリケーションには高価です。 QuickPDFやPDFClownのようなロイヤリティフリーのコンポーネントが必要です。 – Victor
出力にアクセスできるのは内部だけです。そうでなければ...ウェルル...あまりそうではありません。 –
iTextは、「本当に低レベルのpdfドキュメントへのアクセス」も提供します。 –
@マーク良いことを知って、私は少しそれを演奏したが、すべての問題を把握していない。 – p4553d