我有四個我想合併的數據的MemoryStreams,然後打開pdfDocument,而不創建單個文件。合併內存到一個iText文檔
將它們寫入文件然後合併它們是可能的,但那樣做可能是不好的做法,也會導致一些問題,所以我想避免這種情況。
但是,我找不到合併MemoryStreams和iText5 for .NET的方法。
現在,這是我要做的事與文件:
private static void ConcatenateDocuments()
{
var stream = new MemoryStream();
var readerFrontPage = new PdfReader(Folder + FrontPageName);
var readerDocA = new PdfReader(Folder + docA);
var readerDocB = new PdfReader(Folder + DocB);
var readerAppendix = new PdfReader(Folder + Appendix);
var pdfCopyFields = new PdfCopyFields(stream);
pdfCopyFields.AddDocument(readerFrontPage);
pdfCopyFields.AddDocument(readerDocA);
pdfCopyFields.AddDocument(readerDocB);
pdfCopyFields.AddDocument(readerAppendix);
pdfCopyFields.Close();
SavePdf(stream, FilenameReport);
}
因爲我需要刪除文件的使用,我一直將MemoryStream的,因爲不同的部件由不同資源構建的。所以我引用了這些內存流。
這怎麼辦?
你不能使用var readerFrontPage = new PdfReader(yourMemoryStream); – user629926
就是這樣,我無法工作。我碰到的一個錯誤是「找不到PDF頭標籤」。大多數遇到這個問題的人會使用文件,但這不是一個選項。 – Johan
雖然它接縫PdfReader不能採取流,流的數組作品。 var readerFrontPage = new PdfReader(streamFrontPage.ToArray());你不能回答我自己的問題... – Johan