2009-08-19 6 views

Répondre

5

En utilisant pur Objective-C (cacao et PDF Kit) , itérez sur les pages de votre document PDF, et pour chacun, créez un NSImage dont la taille est celle de la boîte de média de la page, verrouillez le focus, dites à la page de dessiner, créez un NSBitmapImageRep avec la vue focalisée (le image), débloquez le focus sur l'image, puis demandez au représentant de l'image bitmap pour les données JPEG et écrivez ces données dans le fichier. (Cette solution est nulle, ne l'utilisez pas.)

Une autre façon est Core Graphics et ImageIO. Créez un contexte bitmap correspondant à la zone média et à l'espace colorimétrique du document, puis pour chaque page, créez une destination image pour le fichier JPEG, récupérez la page du document, dessinez la page dans le contexte, créez une CGImage à partir du contexte, effacez le contexte en utilisant CGContextClearRect, ajoutez l'image à la destination et finalisez la destination.

+0

Merci pour la réponse .. Mais je n'utilise aucune interface utilisateur pour afficher le fichier PDF. Je veux juste parcourir le fichier PDF et il devrait être stocké dans n'importe quel objet, il devrait rendre chaque page. Alors, comment puis-je utiliser PDF Kit dans mon application. –

+0

Vous feriez exactement comme je l'ai dit. Aucune solution nécessite une vue. (NSImage nécessite une connexion au serveur de fenêtre, donc s'il s'agit d'un outil de ligne de commande, la solution Core Graphics est la seule solution). –

+0

merci u.Im capable d'obtenir chaque page, mais la résolution est très faible par rapport aux fichiers jpg créés en exportant à partir d'Acrobat Professional. –