Convertir les pdf en byte[] et vice versa avec pdfbox

J'ai lu la documentation et les exemples, mais je vais avoir un moment difficile de la mettre tous ensemble. Je suis juste en train de prendre un test de fichier pdf, puis de le convertir en un tableau d'octets, puis prendre le tableau d'octets et de les convertir dans un fichier pdf, puis créer le fichier pdf sur le disque.

Il n'a probablement pas beaucoup d'aide, mais c'est ce que j'ai obtenu jusqu'à présent:

package javaapplication1;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.exceptions.COSVisitorException;
import org.apache.pdfbox.pdmodel.PDDocument;

public class JavaApplication1 {

    private COSStream stream;

    public static void main(String[] args) {
        try {
            PDDocument in = PDDocument.load("C:\\Users\\Me\\Desktop\\JavaApplication1\\in\\Test.pdf");
            byte[] pdfbytes = toByteArray(in);
            PDDocument out;
        } catch (Exception e) {
            System.out.println(e);
        }
    }

    private static byte[] toByteArray(PDDocument pdDoc) throws IOException, COSVisitorException {
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        try {
            pdDoc.save(out);
            pdDoc.close();
        } catch (Exception ex) {
            System.out.println(ex);
        }
        return out.toByteArray();
    }

    public void PDStream(PDDocument document) {
        stream = new COSStream(document.getDocument().getScratchFile());
    }
}
Le format PDF est un tableau d'octets, il suffit de lire un fichier binaire et c'est tout. Mais peut-être vous voulez dire quelque chose de différent?
Pour une raison quelconque, quand je convertir un fichier PDF au tableau d'octets, puis retour à la PDF, lorsque j'essaie d'ouvrir le PDF nouvellement créé il dit qu'il est corrompu. J'ai donc décidé d'utiliser pdfbox pour l'éviter. Est-il possible de sauter pdfbox et faites-le et obtenir un fichier pdf de retour?
Quel est votre but ultime? Je ne vois pas auto-suffisante à l'utilisation de la conversion de PDF de tableau d'octets et à l'arrière.
Eh bien, je suis en essais pour voir si je peux stocker un fichier PDF dans une base de données. Je sais que le système de fichier doit être utilisé pour le stockage, mais je tiens à le stocker dans une base de données de toute façon. La seule façon que je peux faire, c'est si c'est sous la forme d'un byte[] tableau
Juste de le lire le flux de fichier et c'est tout. Je vois vraiment pas de raisons, il ne devrait pas travailler.

OriginalL'auteur ThreaT | 2013-07-17