8
votes

Quels éléments PDF pourraient causer des accidents?

Ceci est une question très générale, mais elle repose sur un problème spécifique. J'ai créé une application PDF Reader pour l'iPad et cela fonctionne bien, à l'exception de certaines pages PDF qui bloquent toujours l'application. Nous avons maintenant découvert que les mêmes pages causent également que Safari se bloque également, alors que j'avais commencé à soupçonner le problème est quelque part dans le code de rendu PDF d'Apple.

De ce que j'ai pu voir, les pages de crash provoquent que les bibliothèques de rendu commencent à attribuer une mémoire comme une foule jusqu'à ce que l'application soit tuée. Je n'ai rien d'autre pour m'aider à identifier ce qui déclenche ce processus.

Cela ne se produit pas nécessairement avec les documents les plus importants, ou ceux avec la plupart des formes. En fait, nous n'avons trouvé aucun paramètre qui nous aide à prédire quelles pages se plantera et qui non.

Maintenant, nous venons de découvrir que la gestion des pages via un programme de consommation qui vous permet de fusionner Docs se débarrasser du problème, mais je n'ai pas été en mesure de détecter quel attribut ou quel élément est la clé. L'évolution des documents à la main n'est également pas une option pour nous à long terme. Nous devons exécuter un processus automatisé sur notre serveur.

J'espère que quelqu'un avec des connaissances plus profondes sur le format de fichier PDF serait capable de me signaler dans une direction raisonnable pour rechercher des fonctionnalités de document susceptibles de causer ce type de comportement. Tout ce que j'ai trouvé jusqu'à présent, c'est quelque chose à propos de Jbig2 Images, et je ne pense pas que nous en ayons.


0 commentaires

4 Réponses :


2
votes

Ce n'est pas la fonctionnalité PDF elle-même mais le support correspondant à celui qui est le problème. Vous devez prendre le PDF à part et voir ce qu'il contient - vous pouvez le faire à Acrobat 9.0 - Il existe un article indiquant comment vous pouvez l'utiliser pour voir à l'intérieur du PDF à http://pdf.jpeal.org/java-pdf-blog/bid/10479/viewing-pdf-Objects

Nous avons été envoyés des PDF qui s'est écrasé par courrier sur OS X et que la question s'est avérée être les polices intégrées, sous-étalées.


1 commentaires

Voulez-vous dire que c'est le code qui analyse et rend le document qui se bloque plutôt que le fichier lui-même? Oui, je suis au courant de cela. Et nous avons beaucoup creusé beaucoup dans les fichiers, essayant de désactiver cet élément ou cela. Cela ne semble pas être les polices de notre cas, mais je vais y examiner un peu plus. Merci.



2
votes

même problème rencontré avec deux «PDF spéciaux» qui ne pouvaient pas être rendus sur une application iPad ou Safari pour iPad. Dans mon cas, le problème a été isolé à certaines nuances de gradient semi-transparent.

D'ailleurs, convertissant le PDF en PostScript, puis revenez à PDF, semble retirer les éléments internes que PDFKit n'aime pas. Le document original était de 1,9 Mo de taille avec de nombreuses formes de vecteur, après le processus de conversion, le fichier réduit de 600 Ko et a été rendue parfaitement sur iPad.


2 commentaires

Merci pour cette information. Quel programme / bibliothèque avez-vous utilisé pour faire la conversion PS / PDF? J'ai suggéré à mon client d'utiliser Ghost Script modifier les fichiers, mais à la fin, ils ont fait sa propre solution.


Pas de programmes / bibliothèques open source spéciaux. J'ai utilisé Adobe Distiller 6.0, car il était disponible au travail.



1
votes

J'ai découvert que les éléments de ombrage de tenseur se bloquent définitivement votre application. Toujours! Il est absolument reproductible.


0 commentaires

2
votes

Je recherche un problème comme celui-ci aussi. J'ai réduit mon problème sur un fichier PDF à une seule page avec une image noire et blanche intégrée. L'ouverture du pdf dans Adobe Reader soit seul ou dans un navigateur donne toujours une "Données insuffisantes pour une boîte de dialogue d'image" avec une vue corrompue après l'élément.

Tout en recherchant Internet pour une sorte de remède à cette situation très courante donnait un indice comme la cause fondamentale - de http://forums.adobe.com/message/2151474#2151474 P>

a également couru dans le même problème cet après-midi et après beaucoup d'expérimentation découvert la racine de mon problème était mon optimisation des fichiers PDF via Adobe Acrobat 6 avec les images monochromes étant compressées à l'aide de JBIG2. J'ai enlevé la compression sur les images de Monchrome uniquement (images couleur, etc. étant toujours compressées via JPEG) et maintenant mes fichiers ouverts tout simplement bien dans Reader 9.1, 8, etc. blockQuote>

Peut-être que c'est le problème à laquelle vous êtes confronté? p>


Suivre .... J'ai localisé le problème avec les erreurs «données insuffisantes pour l'image» sur des images couleur converties en B & W à l'aide d'un Mac. Utilisation de l'ITEXT & JAVA, j'ai proposé cette solution - détecter un problème d'espace d'image et réécrivez-le. Cela a travaillé des miracles. Ne devrait pas être difficile de reproduire avec d'autres langues Lang. P>

               image = Image.getInstance( imageUrl );
            if( image.getColorspace() == 1 && image.isJpeg() ) {
                baseLog.warn( "bad image detected at " + imageUrl );
                BufferedImage bufImage = ImageIO.read(new URL( imageUrl ));
                int imageType = bufImage.getType();
                if ( imageType == 10 ) {
                           // convert the image to get rid of bad stuff inside
                    ColorSpace cs = ColorSpace.getInstance( ColorSpace.CS_GRAY );
                    ColorConvertOp op = new ColorConvertOp(cs, null );
                    image = Image.getInstance( op.filter(bufImage, null ), null );                      
                }
            }


2 commentaires

J'ai regardé la chose Jbig2 à un moment donné. J'ai eu l'impression que la plupart des discussions discutant de cette question étaient assez anciennes. En tout état de cause, plusieurs éléments peuvent causer des problèmes. J'ai vu quelque chose impliquant des "gradients de plumes" à un moment donné. Voir ce lien: forums.adobe.com/Message/2011090


Excellentes informations dans la modification. Cette discussion est en train de façonner une bonne liste de problèmes que les gens devraient être au courant et, à présent, certaines solutions également!