私はpdfを取得し、そのpdfの行を追加して新しいpdfを作成し、そのpdfに与えられたパスに保存するメソッドを持っています。新しいファイルをパスに保存するのではなく、バイトに変換して電子メールで送信する方法をいくつか試してみましたが、すべての方法でパスを探すとパスが見つかりませんコード。ItextSharp PDFに行を追加し、保存せずにバイトに変換します。
protected void CreatePDF()
{
string Oldfile = @"C:\BlankPDFt.pdf"; // Gets the Template/The actualy agreement Letter
// (new FileInfo("C:/Documents/Docs.pdf")).Directory.Create(); // Go create this folder if it's not there
string NewFile = "C:/Documents/Docs.pdf";
PdfReader reader = new PdfReader(Oldfile);
iTextSharp.text.Rectangle Size = reader.GetPageSizeWithRotation(1);
Document document = new Document(Size);
FileStream fs = new FileStream(NewFile , FileMode.Create, FileAccess.Write); // This is where it all ways look for new file path
i dont want it to save instead convert to bytes but wont work.
PdfWriter weiter = PdfWriter.GetInstance(document, fs);
document.Open();
PdfContentByte cb = weiter.DirectContent;
PdfImportedPage page = weiter.GetImportedPage(reader, 1);
cb.AddTemplate(page, 0, 0);
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.BLACK);
cb.SetFontAndSize(bf, 12);
cb.BeginText();
// string Signatur = "Some texts"; // adds this text to that pdf
cb.ShowTextAligned(PdfContentByte.ALIGN_CENTER, "Here", 335, 90, 0); // Insert the signature
cb.EndText();
}
一時フォルダにファイルを作成して後で削除してみますか? – GMR516
良いアイデア!残念ながら、この方法には適切な方法ではありません。プロセスを遅くするだけです。プラス私はその文書を探して、それらのうちの40人が同じ時間を作成し、それが削除のために行くだろう場合、何を削除する必要がありますか? – Francis