Transformer un PDF A1 en PDF
Bonjour,
Je voudrais convertir un PDF A1 iso en PDF. Pour cela j'ai voulu récupérer le PDF A le convertir en PostScript puis le reconvertir en PDF. En utilisant GSView et GhostScript cela fonctionne parfaitement.
En faisant quelques recherches j'ai trouvé une API qui pourrait me permettre de faire cela :
Ghost4J voici le lien de téléchargement http://ghost4j.sourceforge.net/
Voilà mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
import java.io.FileOutputStream;
import java.text.ParseException;
import net.sf.ghost4j.converter.PDFConverter;
import net.sf.ghost4j.converter.PSConverter;
import net.sf.ghost4j.document.*;
import java.io.File;
import org.apache.commons.io.IOUtils;
public class Main {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) throws ParseException {
// TODO Auto-generated method stub
FileOutputStream fos = null;
try {
//--------------------------------Transformation en PS
//load PDF document
PDFDocument document = new PDFDocument();
document.load(new File("..\\..test.pdf"));
fos = new FileOutputStream(new File("..\\..testPs.ps"));
//create PS converter
PSConverter psConv = new PSConverter();
System.out.println("debut de la conversion en ps..........");
psConv.convert(document, fos);
System.out.println("fin de la conversion en ps..........");
//--------------------------------Transformation en PDF
// load PostScript document
PSDocument docPs = new PSDocument();
docPs.load(new File("..\\..testPs.ps"));
fos = new FileOutputStream(new File("..\\..final.pdf"));
//create PDF converter
PDFConverter converter = new PDFConverter();
converter.setPDFSettings
(PDFConverter.OPTION_PDFSETTINGS_PREPRESS);
converter.convert(docPs, fos);
} catch (Exception e) {
System.err.println("ERROR: " + e.getMessage());
e.printStackTrace();
} finally{
IOUtils.closeQuietly(fos);
}
}
} |
Et voilà l'erreur :
Code:
1 2 3 4 5 6 7 8 9
|
debut de la conversion en ps..........
ERROR: Temporary file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ghost4j\java.io.FileOutputStream@14045361320752556281933 cannot be deleted
java.io.IOException: Temporary file C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\ghost4j\java.io.FileOutputStream@14045361320752556281933 cannot be deleted
at net.sf.ghost4j.util.DiskStore.removeFile(DiskStore.java:106)
at net.sf.ghost4j.converter.PSConverter.run(PSConverter.java:126)
at net.sf.ghost4j.converter.AbstractRemoteConverter.convert(AbstractRemoteConverter.java:76)
at Main.main(Main.java:30) |
Il y a peut être un moyen plus simple pour faire la conversion ?
Sinon si quelqu'un a déjà utilisé cette API et qu'il peut m'orienter pour résoudre ce problème.
Merci par avance !