При работе с приложением iPhone для чтения каналов, которое отображает nsdata (html и pdf) в UIWebView.Я попал в ловушку какой-то логики проверки PDF.У меня есть объект NSData, который, как я знаю, содержит файл с расширением .pdf.Я хотел бы ограничить получение недействительных PDF-файлов дальше.Вот моя первая попытка проверки кода, которая работает в большинстве случаев:
// pdfData is an NSData *
NSData *validPDF = [[NSString stringWithString:@"%PDF"] dataUsingEncoding: NSASCIIStringEncoding];
if (!(pdfData && [[pdfData subdataWithRange:NSMakeRange(0, 4)] isEqualToData:validPDF])) {
// error
}
К сожалению, новый PDF-файл был загружен несколько дней назад.Он действителен в том смысле, что UIWebView будет отображать его нормально, но он не прошел мой тест проверки.Я проследил проблему до того факта, что в начале это была куча мусорных байтов, когда% PDF шел посередине 14-го набора шестнадцатеричных символов (25 или% - это точно 54-й байт):
%PDF: 25504446
Breaking PDF: 00010000 00ffffff ff010000 00000000 000f0100 0000b5e0 04000200 01000000 ffffffff 01000000 00000000 0f010000 0099e004 00022550 44462d31 etc...
Каков наилучший способ проверки NSData в виде PDF?Что может быть не так с этим конкретным PDF (он утверждает, что он был закодирован PaperPort 11.0, что бы это ни было)?
Спасибо,
Майк