Hi.
I have the problem that the text in my pdf-file wil not be printed at all. The
PDF is shown and printed correctly with Acrobat Reader.
What I do is:
PDDocument document = null;
try {
URL pdfFile = new URL(pdfURLStr);
write_message("Printing URL: " + pdfURLStr);
document = PDDocument.load(pdfFile);
List pages = document.getDocumentCatalog().getAllPages();
// load fonts here iterate over pages
if (pages.isEmpty()) {
write_message("Pages list is empty");
} else {
write_message("Pages list is NOT empty");
Iterator it = pages.iterator();
while (it.hasNext()) {
PDPage currentPage = (PDPage) it.next();
Map map = currentPage.findResources().getFonts();
write_message("Map is: "+map.toString());
Set mySet = map.keySet();
Iterator setInt = mySet.iterator();
while (setInt.hasNext()) {
String val = (String)setInt.next();
PDType1Font pdt = (PDType1Font)map.get(val);
write_message("'"+val+"
"+pdt.getFontDescriptor().getFontName()+"'");
PDFont currFont =
this.loadFontByName(document,pdt.getFontDescriptor().getFontName(),val);
// PDTrueTypeFont.loadTTF(document,
extFSFonts.getProperty(fontName) );
if(currFont != null)
{
currentPage.findResources().getFonts().put(val,currFont);
}
}
}
}
AccessPermission currentPermissions =
document.getCurrentAccessPermission();
if (!currentPermissions.canPrint()) {
write_message("Permission denied to print document.");
}
PrintService currentPrintService =
PrinterJob.getPrinterJob().getPrintService();
PrinterJob printJob = PrinterJob.getPrinterJob();
printJob.setPrintService(currentPrintService);
printJob.setPageable(document);
write_message("Printing PDDocument");
printJob.print();
// Close document
document.close();
} catch (Exception ex) {
write_message(ex.getMessage());
}
Any suggestions?
______________________________________________________
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de