Использование iText для открытия PDF-документов после записи в них
Я использую iText и класс Document в JFrame для написания PDF-файлов, но если я пытаюсь использовать класс Runtime для запуска его после создания, я получаю исключение, что я не могу открыть его из-за блокировок на нем и если я запускаю Unlocker на нем У моего JFrame есть токен блокировки. Как открыть PDF, если я хочу написать в него?
Document d = new Document();
.... code
d.close();
Runtime.getRuntime().exec("D:/PDFChartStuff.pdf");
Почему этот пост не соответствует "стандартам качества" stackru?
1 ответ
Решение
Если вы используете Windows, вы можете использовать rundll32
запустить PDF-файл.
Попробуйте что-то вроде этого
String pdfFile="D:/PDFChartStuff.pdf";
if (pdfFile.toString().endsWith(".pdf")) {
Runtime.getRuntime().exec("rundll32 url.dll,FileProtocolHandler " + pdfFile);
} else {
//For cross platform use
Desktop desktop = Desktop.getDesktop();
desktop.open(pdfFile);
}