ITextsharp PDF合并全文层问题

时间:2015-10-26 18:34:57

标签: c# pdf merge itextsharp

在使用ITextsharp合并PDF时,或者更具体地说,合并后合并PDF文本层时,我遇到了问题。 这是我正在使用的代码:

string path = @"C:\temp\Combined.pdf";
List<string> list = new List<String>();
list.Add(@"C:\temp\1.pdf");
list.Add(@"C:\temp\2.pdf");
list.Add(@"C:\temp\3.pdf");
using (FileStream fileStream = new FileStream(path, FileMode.Create))
{
    // ITextSharp
    PdfReader pdfReader = null;    
    Document document = new Document();
    PdfSmartCopy pdfCopy = new PdfSmartCopy(document, fileStream);
    pdfCopy.SetPdfVersion(PdfWriter.PDF_VERSION_1_7);
    pdfCopy.SetTagged();
    document.Open();
    foreach (string pdfDoc in list)
    {
        pdfReader = new PdfReader(pdfDoc);
        pdfCopy.AddDocument(pdfReader);  
    }
    pdfCopy.Close();
    document.Close();
    pdfReader.Close();

}

因此,合并之前的两个PDF文档具有完全正常的文本层,这意味着我可以将文本复制并粘贴到记事本中,并且看到一切正常。

合并文档后,文本图层中似乎添加了额外的空格: 文本图层示例: -

合并前:快速的棕色狐狸跳过懒狗。

合并之后:我可以通过懒惰的跳跃来跳跃

每个字母之间没有恒定的空格,它比那更随机。关于什么可能是错误的指针,或者我在PDF合并中没有做的事情以保留文本层?

样品:

提前感谢您的任何帮助。

0 个答案:

没有答案