2012-10-04 2 views
2

Comment saurai-je si le PDF est balisé ou non? Je développe un programme qui copiera un texte dans un fichier PDF et l'affichera dans mon application, j'ai donc essayé de tester le fichier PDF, j'ai copié une table à partir d'un fichier PDF (Copier + Coller Ordinaire) et le coller dans MS Mot. Le résultat était un texte normal sans tables. Il y a quelques problèmes que lorsque vous copiez une table à partir d'un fichier pdf et le collez à Word, il devient image. Est-ce vrai?Comment déterminer si PDF est étiqueté ou non?

+0

Si le texte copié à partir d'un PDF peut être collé en tant que tableau dépend du programme que vous utilisez pour afficher/copier le PDF et le programme dans lequel vous êtes collé. Le PDF peut avoir le texte sous la forme d'une table, mais le visualiseur le transforme en texte brut lorsque vous en copiez. Sinon, le programme dans lequel vous le collez peut être en train de le convertir en texte brut lorsque vous le collez. –

+0

ah donc ça dépend de comment ça va être copié?Im planification sur l'aide d'une API pour lire un fichier PDF et je développe mon application dans Android. –

Répondre

4

Comment déterminer si PDF est marqué ou non?

En fonction de la bibliothèque que vous utilisez pour traiter vos fichiers, vous pouvez essayer de récupérer l'entrée MarkInfo du dictionnaire Catalog.

De la spécification PDF:

TABLEAU 3.25 Entrées dans le dictionnaire de catalogue
KEY: MarkInfo
TYPE: dictionnaire
VALEUR: (en option, PDF 1.4) Un dictionnaire d'informations de marque contenant des informations sur l'utilisation du document des conventions PDF balisées (voir Section 10.6, "Structure logique").

Cependant, même si la valeur de cette propriété est définie sur TRUE, cela ne signifie pas que les balises seront effectivement là, et si elles sont, ils pourraient ne pas être utile à vous, à tous pour extraire des tables . Vous pouvez toujours trouver des fichiers PDF avec des tableaux qui utilisent les balises uniquement pour marquer les paragraphes et les images.

Longue histoire courte, à moins que vous générez les fichiers que votre application va consommer, de sorte que vous pouvez savoir quelles balises à rechercher, il est pas une bonne idée de compter sur ces balises pour " extraction de tables à partir de PDF ".

1

J'ai trouvé un commentaire à une question différente qui semble avoir répondu à cette question.

How to read a Table in a PDF using iText java?

Vous pouvez extraire du texte à partir d'un flux de contenu, mais pour les fichiers PDF ordinaires, le résultat sera le texte brut (sans structure). S'il y a une table sur la page, cette table ne sera pas reconnue comme telle. Vous obtiendrez le contenu et quelques espaces blancs, mais ce n'est pas une structure tabulaire! Seulement si vous avez un PDF balisé, vous pouvez obtenir un fichier XML. Si le PDF contient des balises reconnues comme des balises de table, cela sera reflété dans le PDF.

Ceci est de http://support.itextpdf.com/node/27

+0

oh. Donc, même en utilisant une extraction normale de PDF pour programmer, ce serait seulement une forme de texte. même il est affiché? –

+0

Il serait sous forme de tableau seulement si le PDF était étiqueté et pouvait être converti en XML. –

Questions connexes