Dies ist eine sehr allgemeine Frage, aber sie bezieht sich auf ein konkretes Problem. Ich habe eine PDF-Reader-App für das iPad erstellt, die bis auf bestimmte PDF-Seiten, die die App immer zum Absturz bringen, gut funktioniert. Wir haben jetzt herausgefunden, dass dieselben Seiten auch Safari zum Absturz bringen. Ich hatte also schon vermutet, dass das Problem irgendwo in Apples PDF-Rendering-Code liegt.
Von dem, was ich in der Lage gewesen, zu sehen, die abstürzenden Seiten verursachen die Rendering-Bibliotheken zu beginnen, Speicher wie verrückt zuzuweisen, bis die App beendet wird. Ich habe nichts anderes, um mir zu helfen, festzustellen, was diesen Prozess auslöst.
Das passiert nicht unbedingt bei den größten Dokumenten oder denjenigen mit den meisten Formen. Tatsächlich haben wir keinen Parameter gefunden, mit dem wir vorhersagen können, welche Seiten abstürzen werden und welche nicht.
Jetzt haben wir gerade herausgefunden, dass die Seiten durch ein Verbraucherprogramm laufen, mit dem man Dokumente zusammenführen kann, um das Problem zu lösen, aber ich konnte nicht herausfinden, welches Attribut oder Element der Schlüssel ist. Dokumente von Hand zu ändern, ist auf Dauer auch keine Option für uns. Wir müssen einen automatisierten Prozess auf unserem Server durchführen.
Ich hoffe, dass jemand mit tieferen Kenntnissen über das PDF-Dateiformat in der Lage ist, mich in eine vernünftige Richtung zu führen, um nach Dokumentenmerkmalen zu suchen, die diese Art von Verhalten verursachen könnten. Alles, was ich bisher gefunden habe, ist etwas über JBIG2-Bilder, und ich glaube nicht, dass wir so etwas haben.