Да, у меня есть такие решения, как «если мы будем использовать последнюю DLL, тогда все в порядке, нет проблем, но что, если мы используем DLL, которая поддерживает .net framework 1.1, которая может быть до последней 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();
}