Створіть PDF із LaTeX у Java

LaTeX широко використовується для створення технічної та наукової документації. Файли LaTeX (TEX або LTX) є вихідними документами, заповненими командами для визначення формату документа, включаючи текст, символи, математичні вирази та графіку. Ми можемо легко згенерувати документ PDF із джерела LaTeX програмним шляхом. PDF дозволяє обмінюватися документами у форматі лише для читання без шкоди для їх стилю чи компонування. У цій статті ми дізнаємося, як створити PDF-документ із вихідного файлу LaTeX у Java.

У цій статті будуть розглянуті такі теми:

Java API для генерації PDF із LaTeX

Для створення PDF-документів із вихідних файлів LaTeX ми будемо використовувати Aspose.TeX for Java API. Це дозволяє набирати файли TeX у різні формати файлів, наприклад PDF, XPS або зображення. Завантажте JAR API або додайте наведену нижче конфігурацію pom.xml у програму Java на основі Maven.

Репозиторій:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

Залежність:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-tex</artifactId>
    <version>21.11</version>
    <type>jar</type>
</dependency>

Створіть PDF із файлу LaTeX TeX у Java

Ми можемо створити PDF-документ із файлу LaTeX (TeX), виконавши наведені нижче дії.

  1. По-перше, створіть екземпляр класу TeXOptions за допомогою методу consoleAppOptions().
  2. Встановіть конфігурацію TeX як TeXConfig.objectLaTeX().
  3. Далі встановіть вхідні та вихідні робочі каталоги.
  4. Потім вкажіть консоль або потік пам’яті як вихідний термінал.
  5. Після цього встановіть параметри візуалізації у формат PDF.
  6. Нарешті, викличте метод run() для щойно створеного екземпляра класу TexJob із вихідним PDF та об’єктом класу PdfDevice як аргументи.

У наведеному нижче прикладі коду показано, як створити PDF із файлу TeX за допомогою Java.

// Цей приклад коду демонструє, як створити PDF із вихідного файлу TeX.
// Робочий каталог
String dataDir = "D:\\Files\\Tex\\";

// Створення варіантів набору.
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());

// Укажіть робочий каталог файлової системи для введення.
options.setInputWorkingDirectory(new InputFileSystemDirectory(dataDir));

// Вкажіть робочий каталог файлової системи для виведення.
options.setOutputWorkingDirectory(new OutputFileSystemDirectory(dataDir));

// Вкажіть потік пам'яті як вихідний термінал.
options.setTerminalOut(new OutputMemoryTerminal());

// Встановіть параметри візуалізації у формат PDF.
options.setSaveOptions(new PdfSaveOptions());

// Запустити верстку.
new TeXJob(dataDir + "sample.tex", new PdfDevice(), options).run();
Створіть PDF із файлу LaTeX TeX у Java

Створіть PDF із файлу LaTeX TeX у Java.

Створіть PDF із файлу LTX у Java

LaTeX використовує розширення файлу LTX, встановлюючи теги розмітки та властивості, які визначають структуру та вміст документа. Ми також можемо створити PDF-файл із файлу LaTeX (LTX), виконавши кроки, згадані раніше. Однак нам просто потрібно ввести вихідний файл із розширенням .ltx на останньому кроці.

У наведеному нижче прикладі коду показано, як створити PDF із файлу LTX за допомогою Java.

// Цей приклад коду демонструє, як створити PDF із вихідного файлу LTX.
// Робочий каталог
String dataDir = "D:\\Files\\Tex\\";

// Створення варіантів набору.
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());

// Укажіть робочий каталог файлової системи для введення.
options.setInputWorkingDirectory(new InputFileSystemDirectory(dataDir));

// Вкажіть робочий каталог файлової системи для виведення.
options.setOutputWorkingDirectory(new OutputFileSystemDirectory(dataDir));

// Вкажіть потік пам'яті як вихідний термінал.
options.setTerminalOut(new OutputMemoryTerminal());

// Встановіть параметри візуалізації у формат PDF.
options.setSaveOptions(new PdfSaveOptions());

// Запустити верстку.
new TeXJob(dataDir + "sample.ltx", new PdfDevice(), options).run();

Перетворення TeX на XPS за допомогою Java

Ми також можемо конвертувати файл LaTeX (TeX) у XPS, виконавши кроки, згадані раніше. Однак нам просто потрібно встановити параметр XpsSaveOptions замість PdfSaveOptions на кроці № 5.

Наступний приклад коду демонструє, як перетворити TeX на XPS за допомогою Java.

// Цей приклад коду демонструє, як перетворити Tex на XPS.
// Робочий каталог
String dataDir = "D:\\Files\\Tex\\";

// Створення варіантів набору.
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());

// Укажіть робочий каталог файлової системи для введення.
options.setInputWorkingDirectory(new InputFileSystemDirectory(dataDir));

// Вкажіть робочий каталог файлової системи для виведення.
options.setOutputWorkingDirectory(new OutputFileSystemDirectory(dataDir));

// Вкажіть потік пам'яті як вихідний термінал.
options.setTerminalOut(new OutputMemoryTerminal());

// Налаштуйте параметри візуалізації у формат XPS.
options.setSaveOptions(new XpsSaveOptions());

// Запустити верстку.
new TeXJob(dataDir + "sample.tex", new PdfDevice(), options).run();

Перетворіть TeX ZIP Directory у PDF ZIP Directory за допомогою Java

Ми можемо одночасно конвертувати декілька файлів TeX, стиснених у ZIP-архів, у PDF, виконавши наведені нижче кроки:

  1. По-перше, відкриті потоки в архівах ZIP як вхідний і вихідний робочий каталог.
  2. Потім створіть екземпляр класу TeXOptions за допомогою методу consoleAppOptions().
  3. Потім установіть конфігурацію TeX як TeXConfig.objectLaTeX().
  4. Далі встановіть вхідні та вихідні каталоги ZIP.
  5. Потім вкажіть консоль або потік пам’яті як вихідний термінал.
  6. Після цього встановіть параметри візуалізації у формат PDF.
  7. Нарешті, викличте метод run() для щойно створеного екземпляра класу TexJob із вихідним PDF та об’єктом класу PdfDevice як аргументи.

Наступний приклад коду демонструє, як перетворити архів TeX ZIP на архів PDF ZIP за допомогою Java.

// Цей приклад коду демонструє, як перетворити каталог TeX ZIP на каталог PDF ZIP.
// Робочий каталог
String dataDir = "D:\\Files\\Tex\\";

// Відкрийте потік у ZIP-архіві, який буде вхідним робочим каталогом.
final InputStream inZipStream = new FileInputStream(dataDir + "files.zip");

// Відкрийте потік у ZIP-архіві, який слугуватиме вихідним робочим каталогом.
final OutputStream outZipStream = new FileOutputStream(dataDir + "files-out.zip");

try {
    // Створіть параметри перетворення для формату ObjectTeX за замовчуванням у розширенні двигуна ObjectTeX.
    TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());

    // Укажіть для введення робочий каталог архіву ZIP.
    options.setInputWorkingDirectory(new InputZipDirectory(inZipStream, "files"));

    // Укажіть для виведення робочий каталог архіву ZIP.
    options.setOutputWorkingDirectory(new OutputZipDirectory(outZipStream));

    // Вкажіть консоль як вихідний термінал.
    options.setTerminalOut(new OutputConsoleTerminal()); // Default. Not necessary to specify.

    // Визначте варіанти збереження.
    options.setSaveOptions(new PdfSaveOptions());

    // Запустіть роботу.
    TeXJob job = new TeXJob("sample", new PdfDevice(), options);
    job.run();

    // Для послідовного виведення дивитися писати. 
    options.getTerminalOut().getWriter().newLine();

    // Завершіть вихідний архів ZIP.
    ((OutputZipDirectory)options.getOutputWorkingDirectory()).finish();
} finally {
  outZipStream.close();
}
Перетворення архіву TeX ZIP на архів PDF ZIP

Перетворення архіву TeX ZIP на архів PDF ZIP.

Отримайте безкоштовну ліцензію

Ви можете отримати безкоштовну тимчасову ліцензію, щоб спробувати бібліотеку без оціночних обмежень.

Висновок

У цій статті ми дізналися, як:

  • створити вихідний файл PDF із вихідного файлу LaTeX у Java;
  • створити вихідний документ XPS із файлу TeX програмним шляхом;
  • конвертувати архів TeX ZIP в архів PDF ZIP за допомогою Java.

Окрім генерації PDF із LaTeX у Java, ви можете дізнатися більше про Aspose.TeX for Java API за допомогою документації. У разі будь-яких неясностей зв’яжіться з нами на форумі.

Дивись також