Open maciejsobocinski opened 1 year ago
Ветку поднимаю, проблема один в один хочу открыть PDF из Stream , а он мне ошибку.
var pdf = PdfSharpCore.Pdf.IO.PdfReader.Open(body, PdfSharpCore.Pdf.IO.PdfDocumentOpenMode.Import);
{"type":"System.FormatException", "m":"Input string was not in a correct format.", "stack":"at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type)\r\n at PdfSharpCore.Pdf.IO.Lexer.ScanNumber()\r\n at PdfSharpCore.Pdf.IO.Lexer.ScanNextToken()\r\n at PdfSharpCore.Pdf.IO.Parser.ReadInteger(Boolean canBeIndirect)\r\n at PdfSharpCore.Pdf.IO.Parser.ReadInteger()\r\n at PdfSharpCore.Pdf.IO.Parser.ReadObjectNumber(Int32 position)\r\n at PdfSharpCore.Pdf.IO.Parser.ReadXRefStream(PdfCrossReferenceTable xrefTable)\r\n at PdfSharpCore.Pdf.IO.Parser.ReadXRefTableAndTrailer(PdfCrossReferenceTable xrefTable, PdfReadAccuracy accuracy)\r\n at PdfSharpCore.Pdf.IO.Parser.ReadTrailer(PdfReadAccuracy accuracy)\r\n at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider passwordProvider, PdfReadAccuracy accuracy)\r\n at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfReadAccuracy accuracy)\r\n at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, PdfDocumentOpenMode openmode)\r\n
была версия библиотки 1.3.45.0, обновил до 1.3.63 net.standart 2.0 ситуация не изменилась.
Hi,
I'm getting the following exception when trying to open certain Pdfs:
System.FormatException : Input string was not in a correct format. at System.Number.ThrowOverflowOrFormatException(ParsingStatus status, TypeCode type) at PdfSharpCore.Pdf.IO.Lexer.ScanNumber() at PdfSharpCore.Pdf.IO.Lexer.ScanNextToken() at PdfSharpCore.Pdf.IO.Parser.ParseObject(Symbol stop) at PdfSharpCore.Pdf.IO.Parser.ReadArray(PdfArray array, Boolean includeReferences) at PdfSharpCore.Pdf.IO.Parser.ParseObject(Symbol stop) at PdfSharpCore.Pdf.IO.Parser.ReadDictionary(PdfDictionary dict, Boolean includeReferences) at PdfSharpCore.Pdf.IO.Parser.ReadObject(PdfObject pdfObject, PdfObjectID objectID, Boolean includeReferences, Boolean fromObjecStream) at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfPasswordProvider passwordProvider, PdfReadAccuracy accuracy) at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, String password, PdfDocumentOpenMode openmode, PdfReadAccuracy accuracy) at PdfSharpCore.Pdf.IO.PdfReader.Open(Stream stream, PdfDocumentOpenMode openmode)
Stepping into PdfSharp it fails on this line inside of Lexer.cs:
long num = long.Parse(this._token.ToString(), (IFormatProvider) CultureInfo.InvariantCulture);
_token at the time is "-". _curChar is "110 'n'" which breaks out of the while (true) loop leaving _token not a valid long
Thanks!