iTextSharp dll 4.1.2.0问题导致合并的pdf中出现空白页

时间:2012-01-09 04:40:26

标签: itextsharp

我正在使用iTextSharp dll版本4.1.2.0进行pdf合并。但它导致最终合并的pdf中的某些页面空白。但是这个问题在最新的dll中没有出现。 我使用.net框架1.1,所以我不能使用最新的DLL因为它不支持。 那么,请提出建议,我应该为此做些什么。

由于

1 个答案:

答案 0 :(得分:0)

是的,我有一些解决方案,“如果我们将使用最新的dll那么它没问题,但是如果我们使用支持.net框架1.1的dll可能会在最新的dll之前。

在我的情况下的问题是一些pdf已损坏且无法正确解析,这就是为什么它会抛出异常为“尝试读取流过末尾”。我在网上发现有些pdf有在EOF Marker之后还有一些字符,那就是问题。所以,我们必须从文件中删除所有字符并在新创建的pdf文件中进行测试。它对我有用。

public void RemoveExtraBytes(string ofilepath,nfilepath)
{
        string oldfilePath =ofilepath;
        string newFilePath="nfilepath";
        WebClient client = new WebClient();
        byte[] buffer = client.DownloadData(filePath);
        string str;
        int position = 0;
        str = ASCIIEncoding.ASCII.GetString(buffer);
        if (str.Contains("%%EOF"))
        {
            position = str.LastIndexOf("%%EOF");
        }
        Stream stream = new System.IO.FileStream(newfilepath, FileMode.Create);
        stream.Write(buffer, 0, position);
        stream.Close();
}