1

元のPDFの各ページが独自のPDFドキュメントになっている1ページのPDFをいくつか作成したいPDFがあります。itextsharpを使用してこれを実行しようとしていますが、開始することさえ困難です。

私はこれを間違った方法で行っていますか?誰かが私がこれをどうやってやるのか知っていますか?

トンありがとう!

4

3 に答える 3

1

これに適している可能性のある別のライブラリPDFSharpがあります。PDFDocumentオブジェクトを開いて、各ページを個別に調べ、それを独自の個別のPDFドキュメントに抽出することができます。

于 2012-07-05T19:59:30.637 に答える
1

これを実行できる2つの異なるコマンドラインツールがあり、どちらも利用可能な主要なOSプラットフォームのいずれにも対応しています。

pdftk

コマンドラインの例:

pdftk input.pdf burst output page_%04d-from-input.pdf

Ghostscript

コマンドラインの例:

gs \
   -o page_%04d-from-input.pdf \
   -sDEVICE=pdfwrite \
    input.pdf

警告:%04dこれは、ページごとに異なる出力ファイルと名前のこのコマンドライン構文をサポートするGhostscriptの最新バージョンのみです。

pdftkその過程でPDF操作を行うことができず、非常に高速です。

新しいGhostscriptメソッドはやや遅くなりますが、必要に応じて他の多くのPDF処理機能を適用できるという利点があります。

于 2012-07-06T00:09:00.020 に答える
1
using (FileStream fs = new FileStream(argPdfFileName, FileMode.Create))
{
  Document doc = new Document(argReader.GetPageSize(argPdfPageNumber));
  PdfCopy copy = new PdfCopy(doc, fs);
  doc.Open();
  PdfImportedPage page = copy.GetImportedPage(argReader, argPdfPageNumber);
  copy.AddPage(page);
  doc.Close();
}

いくつかの動作中のコードからこれを切り取った。argReaderは、ソースドキュメントを指すPdfReaderインスタンスです。argPdfPageNumberは、問題のページ番号です。基本的には、新しいpdfを作成するだけです。ソースページをインポートして、ドキュメントに追加して保存します。

于 2012-07-06T10:24:02.947 に答える