Les opérateurs de contenu Stream

Les opérateurs de contenu Stream

Ce guide montre comment accéder et manipuler les opérateurs de flux de contenu PDF en utilisant ContentStreamParser et ContentStreamBuilder dans Aspose.PDF FOSS pour Java. Vous apprendrez à lire les bytes de contenu sur la page et utiliser le parser pour inspecter l’impression. Commande de .

Résultats de contenu

Le contenu de la page PDF est encodé comme une séquence d’opérateurs dans un flux de contenus. Page Il fournit accès à ses opérateurs de contenu par le biais du getContents() propriété .

ContentStreamParser

ContentStreamParser parse les bytes de flux de contenu brut en objets d’opérateur, permettant l’inspection programmatique des commandes de dessin de page. passer les bytes crus à partir de page.getContents().toByteArray() Pour le constructeur de pars :

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    ContentStreamParser parser = new ContentStreamParser(contentBytes);
    // Iterate over parsed operators
}

ContentStreamBuilder

ContentStreamBuilder Créer de nouveaux flux de contenu pour intégrer dans un Page. Utiliser ContentStreamBuilder Quand on construit un contenu de page, c’est plus programmable que modifier un courant existant. Après avoir construit le couran, l’attribuer à la Page et sauvegarde le document.

Le référencement d’opérateur

Les opérateurs de flux de contenu PDF sont définis dans la norme ISO 32000-1:2008, Table A.1. Les opérateurs sont des opéraires (BT, ET, Tf, TjLes opérateurs graphiques d’Etat (q, Q, cmLes opérateurs de route (m, l, h, f, S).

Les opérateurs de flux de contenu suivent la spécification PDF (ISO 32000-1:2008, §8). Utiliser ContentStreamParser pour s’attendre à l’intermédiaire des opérateurs dans un courant existant.

Accès à des contenus de page riche

Pour lire les bits crus d’un flux de contenu de page, appelez-vous page.getContents().toByteArray(). Les bytes peuvent ensuite être vérifiés, décodés ou transférés à ContentStreamParser:

try (Document doc = new Document("input.pdf")) {
    PageCollection pages = doc.getPages();
    Page page = pages.get(1);
    byte[] contentBytes = page.getContents().toByteArray();
    System.out.println("Content stream size: " + contentBytes.length + " bytes");
}

Voir aussi

 Français