0

我有一个 pdf 文档(由 iTextSharp 创建 - 免费版本 4.1.6),我想在这个 pdf 的顶部添加文本/表格。我试图从 iTextSharp Documents 创建两个内存流并将它们合并为一个,请参阅下面的代码。但是无法打开新的 PDF 文件。任何想法我做错了什么?在现有 PDF 顶部添加文本/表格的任何其他想法?提前致谢!

public void CreateTestPDF(string _pathOfOriginalPDF, string _pathOfModifiedPDF)
{
    string oldFile = _pathOfOriginalPDF;
    string newFile = pathOfModifiedPDF;
 
    byte[] bytesHeader;
    byte[] bytesBody;
    byte[] bytesCombined;
 
    using (MemoryStream ms = new MemoryStream())
    {
        Document doc = new Document();
        doc.Open();
        doc.Add(new Paragraph("This is my header paragraph"));
        if (doc.IsOpen())
        {
            doc.Close();
        }
 
        bytesHeader = ms.ToArray();
    }
 
    using (MemoryStream ms = new MemoryStream())
    {
        Document doc = new Document();
        //doc.Open();
        PdfWriter writer = PdfWriter.GetInstance(doc, new FileStream(oldFile, FileMode.Create));
        if (doc.IsOpen())
        {
            doc.Close();
        }
 
        bytesBody = ms.ToArray();
    }
 
    IEnumerable<byte> iCombined = bytesHeader.Concat(bytesBody);
    bytesCombined = iCombined.ToArray();
 
    string testFile = _pathOfModifiedPDF;

    using (FileStream fs = File.Create(testFile))
    {
        fs.Write(bytesBody, 0, (int)bytesBody.Length);
    }
}
4

0 回答 0