Преобразование других форматов файлов в PDF на Java
Aspose.PDF for Java поддерживает преобразование из форматов документов, разметки и описания страниц в PDF.
Преобразование OFD в PDF
Используйте этот пример, когда документ OFD должен быть преобразован в PDF.
- Откройте источник OFD, передавая путь к файлу и
OfdLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF разобрать пакет OFD в модель документа PDF.
- Сохраните полученный PDF по целевому пути.
public static void convertOfdToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new OfdLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование TeX в PDF
Используйте этот пример, когда содержимое TeX должно быть напрямую отрендерено в PDF.
- Откройте исходный файл TeX, передав путь к файлу и
TeXLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF интерпретировать разметку TeX и построить макет PDF при загрузке.
- Сохраните сгенерированный PDF.
public static void convertTexToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new com.aspose.pdf.TeXLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PostScript в PDF
Используйте этот пример, когда файл PostScript должен быть преобразован в документ PDF.
- Откройте исходный PostScript с помощью
PsLoadOptionsв конструктореDocument. - Позвольте Aspose.PDF преобразовать поток описания страниц PostScript в модель документа PDF.
- Сохраните преобразованный файл PDF.
public static void convertPostScripToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new PsLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование EPS в PDF
Используйте этот пример, когда файл Encapsulated PostScript необходимо преобразовать в PDF.
- Откройте EPS‑источник с помощью
PsLoadOptions, поскольку EPS следует тому же пути загрузки, основанному на PostScript. - Загрузите файл в
Document, при этом содержимое описания страницы преобразуется во время импорта. - Сохраните выходной PDF.
public static void convertEpsToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new PsLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование EPUB в PDF
Используйте этот пример, когда необходимо преобразовать электронную книгу EPUB в PDF.
- Откройте источник EPUB, передав путь к файлу и
EpubLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF загрузить структуру электронной книги и преобразовать её в страницы PDF.
- Сохраните преобразованный PDF.
public static void convertEpubToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new EpubLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование Markdown в PDF
Используйте этот пример, когда содержимое Markdown должно быть отрисовано и сохранено в PDF.
- Откройте исходный Markdown, передав путь к файлу и
MdLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF интерпретировать содержимое Markdown и отобразить его в содержимое страницы PDF.
- Сохраните выходной PDF-файл.
public static void convertMdToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new MdLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Простой способ преобразования текста в PDF
Используйте этот пример, когда необходимо быстро преобразовать текстовый файл в PDF.
- Прочитайте исходный обычный текст с декодированием UTF-8, чтобы содержимое текста было доступно в виде строки Java.
- Создайте пустой
Documentи добавьтеPage. - Оберните текст в
TextFragmentи добавьте его в коллекцию абзацев страницы. - Сохраните сгенерированный PDF.
public static void convertTxtToPdfSimple(Path inputFile, Path outputFile) throws Exception {
String textContent = Files.readString(inputFile, StandardCharsets.UTF_8);
try (Document document = new Document()) {
Page page = document.getPages().add();
page.getParagraphs().add(new TextFragment(textContent));
page.close();
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование текста в PDF с дополнительными параметрами
Используйте этот пример, когда обычный текст должен быть преобразован с дополнительными параметрами макета или кодирования.
- Прочитайте все строки текста из входного файла, чтобы можно было проверить маркеры разрыва страниц во время конвертации.
- Создайте пустой
Documentи настройте поля и параметры текста по умолчанию для каждой страницыPage. - Найдите моноширинный шрифт с помощью
FontRepositoryи добавьте каждую строку какTextFragment. - Сохраните выходной файл после завершения цикла построения страниц.
public static void convertTxtToPdf(Path inputFile, Path outputFile) throws Exception {
List<String> lines = Files.readAllLines(inputFile);
try (Document document = new Document()) {
com.aspose.pdf.Page page = document.getPages().add();
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(FontRepository.findFont("Courier New"));
page.getPageInfo().getDefaultTextState().setFontSize(12);
int pageCount = 1;
for (String line : lines) {
if (!line.isEmpty() && line.charAt(0) == '\f') {
page = document.getPages().add();
page.getPageInfo().getMargin().setLeft(20);
page.getPageInfo().getMargin().setRight(10);
page.getPageInfo().getDefaultTextState().setFont(FontRepository.findFont("Courier New"));
page.getPageInfo().getDefaultTextState().setFontSize(12);
pageCount++;
if (pageCount == 4) {
break;
}
} else {
page.getParagraphs().add(new TextFragment(line));
}
}
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование PCL в PDF
Используйте этот пример, когда поток печати PCL необходимо преобразовать в PDF.
- Создайте
PclLoadOptionsи включите подавление ошибок разбора, если импорт должен продолжаться при их возникновении. - Откройте источник PCL, передав путь к файлу и параметры загрузки в конструктор
Document. - Сохраните результат как PDF.
public static void convertPclToPdf(Path inputFile, Path outputFile) {
PclLoadOptions loadOptions = new PclLoadOptions();
loadOptions.setSupressErrors(true);
try (Document document = new Document(inputFile.toString(), loadOptions)) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование XML в PDF с помощью XSLT и HTML
Используйте этот пример, когда данные XML должны быть преобразованы перед окончательной генерацией PDF.
- Преобразуйте XML‑исходник с помощью файла XSLT во временный HTML‑файл, вызвав специальный метод преобразования.
- Передайте сгенерированный HTML‑файл в существующую функцию преобразования HTML в PDF, чтобы итоговый PDF создавался стандартным способом с помощью
HtmlLoadOptions. - Удалите временный HTML‑файл в блоке
finallyпосле завершения конвертации. - Сохраните сгенерированный PDF-файл.
public static void convertXmlToPdf(Path xsltFile, Path xmlFile, Path outputFile) throws Exception {
Path htmlFile = Files.createTempFile("aspose-pdf-xml-", ".html");
try {
transformXmlToHtml(xmlFile, xsltFile, htmlFile);
HtmlToPdfExamples.convertHtmlToPdf(htmlFile, outputFile);
} finally {
Files.deleteIfExists(htmlFile);
}
System.out.println(xmlFile + " converted into " + outputFile);
}
Преобразование XPS в PDF
Используйте этот пример, когда XPS‑документ необходимо преобразовать в PDF.
- Откройте источник XPS, передав путь к файлу и
XpsLoadOptionsв конструкторDocument. - Позвольте Aspose.PDF интерпретировать описание страницы XPS во время загрузки документа.
- Сохраните преобразованный PDF.
public static void convertXpsToPdf(Path inputFile, Path outputFile) {
try (Document document = new Document(inputFile.toString(), new XpsLoadOptions())) {
document.save(outputFile.toString());
}
System.out.println(inputFile + " converted into " + outputFile);
}
Преобразование XSL-FO в PDF
Используйте этот пример, когда содержимое XSL-FO должно быть преобразовано в PDF.
- Создайте
XslFoLoadOptionsс путём XSLT, чтобы XML‑источник можно было преобразовать при загрузке. - Настройте режим обработки ошибок разбора так, чтобы при обнаружении неверного XSL-FO сразу генерировалось исключение.
- Откройте XML-источник в
Documentс этими параметрами загрузки. - Сохраните полученный PDF‑документ.
public static void convertXslFoToPdf(Path xsltFile, Path xmlFile, Path outputFile) {
XslFoLoadOptions loadOptions = new XslFoLoadOptions(xsltFile.toString());
loadOptions.setParsingErrorsHandlingType(XslFoLoadOptions.ParsingErrorsHandlingTypes.ThrowExceptionImmediately);
try (Document document = new Document(xmlFile.toString(), loadOptions)) {
document.save(outputFile.toString());
}
System.out.println(xmlFile + " converted into " + outputFile);
}
Преобразование XML в промежуточный HTML
Используйте этот метод, когда XML‑данные необходимо преобразовать в HTML перед окончательным шагом конвертации в PDF.
- Откройте XML- и XSLT-файлы ввода в качестве источников преобразования.
- Создайте
Transformerиз таблицы стилей XSLT и примените его к исходному XML. - Запишите преобразованный HTML‑файл на диск, чтобы последующая функция преобразования в PDF могла загрузить его.
private static void transformXmlToHtml(Path xmlFile, Path xsltFile, Path htmlFile) throws Exception {
Transformer transformer = TransformerFactory.newInstance()
.newTransformer(new StreamSource(xsltFile.toFile()));
transformer.transform(new StreamSource(xmlFile.toFile()), new StreamResult(htmlFile.toFile()));
}