iTextSharp(5.5.5.90)を使用してPDFファイルを生成しています。私は段落を使用しており、読者などからページをインポートしています。ここで、私は私の文書を作成する方法である、そこから私はちょうど私が必要なものを追加します。iTextSharp、文書を生成した後にページ1にバーコードを追加する
FileStream fs = new FileStream("filename.pdf", FileMode.Create, FileAccess.Write, FileShare.None);
Document doc = new Document(new Rectangle(PageSize.LETTER), 58, 58, 100, 50);
PdfWriter writer = PdfWriter.GetInstance(doc, fs);
ファイルが作成されたら、私はこのような段落を追加します。
doc.Add(new Paragraph("Paragraph text"));
そして、このような読者からのインポートページ:
writer.DirectContent.AddTemplate(writer.GetImportedPage(reader, page), 0, 0);
私の質問は、ドキュメント全体を生成してページ1に要素を追加した後、どのようにページ1に戻るのですか?私はバーコードを追加しています(現在のページでバーコード、表などを追加する方法は分かります)。しかし、要素を追加するためにページ1に戻る方法はわかりません。
完全なコードですが、依存関係のためにコンパイルできません。また、動的に生成されたドキュメントを作成するための大きなプロジェクトであるため、完全なコードの詳細に惑わされないようにしてください。 https://pastebin.com/kABi7fzW
最初からバーコードを挿入していない理由はありますか? – DiskJunky
DiskJunky、私は最後まで文書の全長を知らない。バーコードには、文書内のページ数が含まれています。パラグラフと、それらが下に達すると自動的に次のページに流れ込むため、そこに何ページがあるのかを100%確信させることはできません(早い段階で文字/行/ –
あなたは、少なくともバーコードのためのプレースホルダーに置かなければならないでしょう、あるいは単なる挿入がページカウントを押し出す可能性があります。この場合、文書を作成して開き直し、バーコードプレースホルダーを見つけて更新する必要があります。それはより複雑なプロセスです – DiskJunky