2013-02-18 6 views
1

Je développe actuellement une application pour OSX qui effectue plusieurs actions, et devrait offrir une option pour exporter certaines données au format PDF. Le PDF généré doit avoir un style complexe: certains éléments vectoriels avec des bordures et des arrière-plans, une image facultative, des types de police personnalisés et peut-être un formatage de paragraphe. J'ai l'expérience du contrôle d'Adobe InDesign à partir d'une application pour injecter des données dans un modèle, et exporter un fichier PDF, mais dans ce cas, j'ai besoin d'intégrer toutes les fonctionnalités dans mon application, mon client n'a besoin de rien autre.Remplir un PDF avec Cocoa

J'ai besoin d'un moyen d'avoir un certain type de modèles, dans lequel je peux injecter des données de l'App, avec la possibilité de répéter les éléments de conception du modèle. Imaginez une facture, il y a des champs qui doivent être remplis une fois, comme le nom et l'adresse du client; mais il y a d'autres éléments qui doivent être répétés pour chaque produit listé dans la facture.

J'ai fait des recherches sur le sujet et j'ai trouvé quelques infos sur Cocoa Drawing et Quartz, mais cela nécessiterait de coder les templates dans mon application, et ce serait bien de les avoir séparément, comme données importables pour l'application. (C'est parce que je suis aussi un concepteur et je voudrais offrir des modèles de modèles personnalisés pour les utilisateurs de mon application).

Peut-être qu'une approche pourrait être d'utiliser le rendu HTML/CSS (dans l'application ou à distance) et le convertir en PDF? Je pourrais faire cette conversion dans l'application ou avec PHP ... Est-ce que ces deux options garderaient les éléments vectoriels? Ce n'est pas crucial, c'est seulement une question de taille de fichier.

Y a-t-il un moyen/une bibliothèque Cocoa pour que cela fonctionne de la même manière que ce que j'ai en tête? Je ne suis pas un programmeur très expérimenté dans Cocoa, en fait je suis assez nouveau à ce sujet, mais j'ai fait beaucoup de choses dans beaucoup d'autres langages OOP. Désolé pour la longue question, je voulais juste être clair avec mon projet.

Merci!

+0

Je pense que vos choix sont à utiliser NSView/NSTableView, ou quelque chose qui rend dans une vue web. Je ne connais aucune bibliothèque de rapports basée sur un modèle pour Cocoa, bien que j'ai vu des outils commerciaux comme celui-ci pour iOS. – paulmelnikow

Répondre

0

Vous pouvez générer des fichiers PDF raisonnablement complexes dans une application Cocoa à l'aide de l'infrastructure PDFPageBuilder. Il y a une application de démonstration décente qui indique la gamme de fonctionnalités prises en charge.

Le texte peut être positionné avec précision et les options de style incluent le nom de la police, la taille, la couleur et la justification du paragraphe. Les images peuvent également être insérées.

Il est également possible d'énumérer des objets et de simples expressions conditionnelles booléennes.

https://github.com/ThesaurusSoftware/PDFPageBuilder