web-dev-qa-db-fra.com

PDF spécifications pour les codeurs: Adobe ou ISO?

Je veux coder une application capable de lire et de décoder un document pdf; maintenant où je suis censé obtenir les spécifications de ce format de fichier? Le format PDF est standardisé à partir du groupe ISO mais je ne sais pas où est la source la plus fiable pour obtenir ce type d'informations.

quelle est une bonne source pour commencer avec ce format de fichier?

56
user1824407

Vous pouvez réellement utiliser les deux sources que vous avez mentionnées; la confusion est historique.

Adobe a inventé PDF et il a inventé la famille de produits Acrobat à utiliser avec lui. Les différentes versions PDF PDF ont été publiées avec les principales versions d'Acrobat (PDF 1.3 pour exemple a été publié avec Acrobat 4).

En raison de l'adoption du format PDF et parce qu'un certain nombre de normes ISO ont été écrites qui dépendaient en fait du format de fichier propriétaire PDF (pas facile pour une norme ISO), Adobe a décidé de remettre le format PDF PDF à ISO).

À partir de ce moment et jusqu'à aujourd'hui, il existe un comité ISO chargé de modifier la spécification PDF et d'élaborer de nouvelles versions. La norme ISO pour PDF est ISO 32000.

Gardez également à l'esprit que, selon l'endroit où vous souhaitez utiliser le PDF, un certain nombre d'autres normes ISO peuvent être très utiles ou indispensables. Parmi les plus couramment utilisés figurent PDF/X (pour l’échange de fichiers PDF dans la communauté de l’édition) et PDF/A (pour la création de fichiers PDF doivent être archivés dans un stockage à long terme. Ces spécifications font référence à une version spécifique de la norme PDF PDF et ajoutent des exigences et des restrictions supplémentaires.

En ce qui concerne la spécification, vous pouvez obtenir tous les documents directement de l'ISO. Cependant, pour PDF lui-même, vous pouvez également l'obtenir auprès d'Adobe et ce document sera identique. Consultez le site Adobe DevNet sur Acrobat:

http://www.Adobe.com/devnet/acrobat.html

Téléchargez simplement le SDK Acrobat et cela vous donnera la documentation dans le cadre de celui-ci.

Permettez-moi d'ajouter un mot d'avertissement sur le "ciblage de la spécification PDF" dans le code. Je vous conseille vraiment, vraiment, vraiment de préciser plus précisément quels sont vos besoins PDF (édition, génération, contrôle qualité (contrôle en amont)), puis recherchez ou demandez une bibliothèque existante qui répond à ces besoins ou peut être étendue pour répondre à vos besoins.

Écrire quelque chose qui prend en charge "PDF" en général sera une tâche intimidante. La spécification PDF est grande, complexe et pleine de ... enfin ... de subtilités. Il y a des dragons!


Mise à jour:

Un lien direct vers le document de spécification Adobe PDF-1.7 (première édition, téléchargeable gratuitement, est ici:

Le contenu de ce document est devenu plus tard officiellement adopté comme norme ISO pour le PDF général, ISO 32000-1.

Notez cependant qu'il existe quelques différences dans le fichier PDF disponible auprès de l'ISO:

Si vous commencez à développer PDF logiciel, il suffit d'avoir (gratuit) PDF à partir du lien Adobe ci-dessus).

33

Le PDF n'est pas un format léger. Il s'agit essentiellement de postscript avec compression en haut. Une bibliothèque existante est définitivement ce que vous voulez utiliser, pas écrire la vôtre. C'est une tâche énorme.

Ou procurez-vous une application écrivain PDF PDF existante et lancez-la à partir de votre programme.

Je ne l'ai pas beaucoup regardé, mais libgnupdf semble OK.

Selon Wikipedia PDF combine trois technologies:

  • Un sous-ensemble du langage de programmation de description de page PostScript, pour générer la mise en page et les graphiques.
  • Un système d'intégration/de remplacement des polices pour permettre aux polices de voyager avec les documents.
  • Un système de stockage structuré pour regrouper ces éléments et tout contenu associé dans un seul fichier, avec compression des données le cas échéant.
1
Mats Petersson