0

これまでのところ、iTextSharpを使用して、テキストフィールドを備えたAdobeAcrobatProを使用してPDFを作成することができました。iTextSharpを使用してPDFを開き、目的のフィールドにキー情報をキーフィールドに入力することができます。

次に、すべてをまとめて、ファイルをバイト配列から添付ファイルとして送信できるので、すべてが正常に機能します。

問題はこれにあります-私はメモリストリームにPDFドキュメントを作成し、必要なテキストでドキュメントをあふれさせる必要があります。私はそれをかなりうまく理解しました。

問題は、メモリストリーム内のそのドキュメントを、新しいページとしてファイルストリームにある既存のソース.PDFに追加する方法について混乱していることです。

1つはstamper.insertページを使用することですが、長方形にヘッダーを追加できないという考えに苦労しており、Document doc = new Document()を使用するのが道だと思っています。

考え?

4

1 に答える 1

0

これが疑似コードコードです。これが現在行われていることです。

ソース ファイルを開き、byte[] に保存します。 Acrofields を使用して .SetField を使用して、pdf のテキスト フィールドに入力します (これは成功です) スタンプして閉じます。 バイト配列として返し、添付ファイルとして送信します。これはすべて正常に機能します。

ここで、上記の既存のドキュメントに新しいページをテキスト (いくつかの段落) で添付する必要があります。

メモリ ストリームを作成する ドキュメントを作成する ライターを作成し、メモリ ストリームとドキュメントを一緒にブレンドします。

MemoryStream ms = new MemoryStream();
Document doc = new Document(PageSize.LETTER);
PdfWriter writer = PdfWriter.GetInstance(doc, ms);
doc.Open();
doc.NewPage();
Paragraph p = new Paragraph();
p.Add(new Chunk(complaintinfo.COMPLAINT_DESC, new Font(Font.NORMAL, qSize, iTextSharp.text.Font.NORMAL)));
// doc - add header info later..
doc.Add(p);

既にファイル ストリームにある既存の .pdf にドキュメントを新しいページとして追加するにはどうすればよいですか? 当然、元の PDF にリンクされているリーダーをスタンプして閉じる前に、ページを追加したいと思います。

于 2012-11-27T16:40:21.253 に答える