iText(特にiTextSharp 4.1.6)を使用しています。既存のPDFからページを結合するだけでなく、イメージから作成した新しいページを挿入してPDFを作成したいと思います。iText - PdfCopyで作成したドキュメントにページを追加する方法
私はこれら2つの部分をそれぞれPdfCopyとPdfWriterを使って別々に動作させています。画像からページを作成するためのコードは次のようになります。今
PdfWriter pw = PdfWriter.GetInstance(doc, outputStream);
Image img = Image.GetInstance(inputStream);
doc.Add(img);
doc.NewPage();
PdfCopyがPDFWriterのから継承しているので、私は、私は同じ技術を使用して、私のPdfCopy対象に、そのような「画像ページ」を追加することができるだろうと思いました上記の例でPdfWriterの代わりにPdfCopyをインスタンス化すると、ページに何も表示されません)。
私は、PdfCopyのコンストラクタがスーパークラスのコンストラクタを呼び出すときに渡されたものではなく、新しいDocumentオブジェクトを使用していることに気づいたので、これが理由です。
これについてもっと良い方法がありますか?現時点では、私の最高の推測は、PdfWriterを使用してイメージから単一のページPdfを作成し、それをPdfCopyを使用してドキュメントに追加することですが、これは回避策のようです。
あなたは私に周りの仕事として記述何が適切なソリューションです。 PdfCopyは、複数のPDFを結合するように設計されており、既存のPDFとそれを新しく作成したPDFに適用します。画像が大きすぎない場合は、そのPDFをメモリ(バイト[])で作成してそこから読み取ることができます。したがって、一時ファイルを追加する必要はありません。 – mkl
ありがとう - 私はiTextにあまり慣れていないので、完全に機能しているように思えます。私は一時的なPDFをメモリ内に作成して実装しました。それはすべてうまく動作します:-) – Andy