Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

java itext pdf t img

1 réponse
Avatar
remy
bonjour

il y a un truc qui m'echappe
je ne comprends pas pourquoi qd je fais un parcours recursif et complet
a priori d'un document pdf qui contient que des images
je n'arrive pas a recuperer la bonne instance j'ai essaye a peu pres
tous les types image dispo sous itext et j'ai bien une cle imgxxx
le fichier pdf et code source ci joint


si quelqu'un a une idee je suis toujours preneur

merci a vous, meme pour une piste ou une idee

ftp://ftp.bnf.fr/010/N0103019_PDF_1_122.pdf




import java.awt.*;
import java.io.*;
import javax.swing.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import com.lowagie.text.pdf.codec.*;
import com.lowagie.text.pdf.PdfObject;
import java.util.*;


public class TestLecturePdf {


public static PdfReader pdf;
public static int nbDic =0;;
public static void main(String[] args)
{

String name = args[0];


try {

pdf=new PdfReader(name);
System.out.println(pdf.getInfo());

PdfDictionary dic=pdf.getCatalog();
lectureDic(dic);
for(int i=1;i<pdf.getNumberOfPages();i++)
{
dic=pdf.getPageN(i);
nbDic=0;
System.out.println("################ page "+i+" ################");
lectureDic(dic);
}



}
catch(IOException ioe)
{
System.err.println(ioe.getMessage());
}


}

public static void lectureDic(PdfDictionary dic)
{
nbDic++;
System.out.println("*******DIC********"+nbDic);
System.out.println(dic.getKeys());
for (Iterator it = dic.getKeys().iterator(); it.hasNext();)
{
PdfName key = (PdfName)it.next();
Object obj = (Object)pdf.getPdfObject(dic.get(key));
//******************************************************************
if( obj instanceof com.lowagie.text.Jpeg )
{
System.out.println("bip");
}
//******************************************************************

if( obj instanceof PdfDictionary )
{
lectureDic((PdfDictionary)obj);
}
}
}

}

--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy

1 réponse

Avatar
remy
bon
[/img0]
The filter /ccittfaxdecode is not supporter

cela dit quelque chose a quelqu'un?
ou eventuellement un autre jar sous gpl pour les pdf
ou une description detaillee du filtre en francais ou anglais


import java.awt.*;
import java.io.*;
import javax.swing.*;
import com.lowagie.text.*;
import com.lowagie.text.pdf.*;
import com.lowagie.text.pdf.codec.*;
import com.lowagie.text.pdf.PdfObject;
import java.util.*;


public class TestLecturePdf {


public static PdfReader pdf;
public static int nbDic =0;
public static RandomAccessFileOrArray file;

public static void main(String[] args)
{

String name = args[0];


try {

pdf=new PdfReader(name);
file=new RandomAccessFileOrArray(name);
System.out.println(pdf.getInfo());

PdfDictionary dic=pdf.getCatalog();

for(int i=1;i<pdf.getNumberOfPages();i++)
{
dic=pdf.getPageN(i);
nbDic=0;
System.out.println("################ page "+i+" ################");
lectureDic(dic);
}



}
catch(IOException ioe)
{
System.err.println(ioe.getMessage());
}


}

public static void lectureDic(PdfDictionary dic)throws IOException
{
PdfName key;
Object obj;
nbDic++;
System.out.println("*******DIC********"+nbDic);
System.out.println(dic.getKeys());
for (Iterator it = dic.getKeys().iterator(); it.hasNext();)
{

key= (PdfName)it.next();
obj= (Object)pdf.getPdfObject(dic.get(key));
if (obj instanceof PRStream)
{
byte[] b=pdf.getStreamBytes((PRStream)obj,file);
System.out.println(b.length);
}





if( obj instanceof PdfDictionary )
{
lectureDic((PdfDictionary)obj);
}
}
}

}



--
des conneries j'en ai dites oui oui je vous assure...
mais elles n'engagent que votre perception
remy