Позвольте мне начать с того, что я использовал ваш пример кода и образец xhtml, и он «работал за 2675 мс».
Я скачал flyingsaucer R8.И положил три банки в мой путь к классам.
core-renderer.jar, iText-2.0.8.jar, xml-apis-xerces-2.9.1.jar
Я измерилвремя выполнения путем изменения кода с помощью инструментария ...
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.xhtmlrenderer.pdf.ITextRenderer;
import com.lowagie.text.DocumentException;
public class FirstDoc {
public static void main(String[] args) throws IOException, DocumentException {
long start = System.currentTimeMillis();
String inputFile = "firstdoc.xhtml";
String url = new File(inputFile).toURI().toURL().toString();
String outputFile = "firstdoc.pdf";
OutputStream os = new FileOutputStream(outputFile);
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
long end = System.currentTimeMillis();
System.out.println("Ran in " + (end-start) + "ms");
}
}
Теперь эта библиотека не совсем быстрая, но, похоже, она тоже не занимает 1-2 минуты.Итак, теперь нам нужно выяснить, почему он работает так медленно для вас.Не могли бы вы сообщить нам, какой JDK вы используете и на какой платформе?Также какую версию flyingsaucer вы используете?