Решение для версий 1.0, 1.1:
В fop 1.0 и 1.1 метод setBaseURL () не работает корректно с локальными файлами, поэтому вы можете использовать метод setURIResolveri и написать свою реализацию интерфейса URIResolver.
1.Добавить в использование
импорт javax.xml.transform.URIResolver;
2.Добавить в mainClass
private static class LocalResolver implements URIResolver {
private String BaseFolder;
@Override
public Source resolve(String href, String base) throws TransformerException {
File f = new File(BaseFolder + "\\" + href);
if (f.exists())
return new StreamSource(f);
else
throw new TransformerException("File " + f.getAbsolutePath() +" not found!");
}
public LocalResolver(String BaseFolder) {
this.BaseFolder = BaseFolder;
}
}
Fop fop = fopFactory.newFop (MimeConstants.MIME_PDF, out);
3.Добавить перед вызовом transformer.transform (src, res) это:
fop.getUserAgent().setURIResolver(new LocalResolver("C:\\Users\\photon\\Downloads\\fop-1.1-bin\\fop-1.1"));