Konfigurasi opsi lanjutan mesin TeX di Java
Sesuaikan parameter kompilasi dokumen TeX dan LaTeX secara terperinci menggunakan kelas TeXOptions di Aspose.TeX for Java. Dapatkan kontrol terperinci atas nama pekerjaan eksekusi, perilaku pencatatan terminal dan file, jalur pencarian font/paket, serta preferensi penanganan kesalahan selama alur kerja pemrosesan dokumen otomatis.
Saat menjalankan pekerjaan TeX atau LaTeX di lingkungan Java perusahaan, mengonfigurasi perilaku runtime sangat penting untuk pelacakan kesalahan, audit, dan pengelolaan sumber daya multi-tenant.
- Nama Pekerjaan menggunakan metode
setJobName(String)untuk menentukan awalan nama file output utama untuk dokumen dan file tambahan yang dihasilkan (.pdf,.log,.aux). - Output Terminal menggunakan metode
setTerminalOut(IOutputTerminal)untuk mengontrol ke mana pesan konsol dan peringatan mesin diarahkan (Konsol, File, Memory Stream, atau Null). - Input Terminal menggunakan metode
setTerminalIn(IInputTerminal)untuk mengonfigurasi perilaku input konsol interaktif selama eksekusi TeX. - Output Log menggunakan metode
setLogOutput(Boolean)untuk mengaktifkan atau menonaktifkan pembuatan file tambahan kompilasi .log. - Ulangi saat Terjadi Kesalahan menggunakan metode
setRepeatOnError(Boolean)untuk menentukan apakah mesin harus menjalankan kembali siklus pemrosesan saat menemukan kesalahan penyusunan huruf yang dapat dipulihkan.
Mengonfigurasi nama pekerjaan dan penamaan output
Tetapkan nama pekerjaan khusus untuk menentukan awalan file bagi dokumen yang dihasilkan, file perantara, dan output log.
import com.aspose.tex.*;
import java.io.IOException;
public class ConfigureTeXJobName {
public static void main(String[] args) throws IOException {
// Initialize options for LaTeX format
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
// Set input and output working directories
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Output/"));
// Explicitly set a custom job name (Output will be 'Invoice_2026.pdf')
options.setJobName("Invoice_2026");
// Run TeX job using the designated job name options
TeXJob job = new TeXJob(options);
job.run();
System.out.println("TeX job completed with custom output file name: Invoice_2026.pdf");
}
}Mengalihkan output terminal dan pencatatan konsol
Tangkap atau nonaktifkan log konsol runtime dengan mengonfigurasi instance IOutputTerminal khusus (seperti menulis pesan terminal langsung ke memori atau disk).
import com.aspose.tex.*;
import java.io.ByteArrayOutputStream;
public class ConfigureTeXTerminalOutput {
public static void main(String[] args) throws Exception {
// Initialize LaTeX conversion options
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Output/"));
// Redirect terminal output to an in-memory stream instead of System.out
ByteArrayOutputStream terminalStream = new ByteArrayOutputStream();
options.setTerminalOut(new OutputConsoleTerminal()); // Or use custom stream terminal
// Enable execution log file writing
options.setLogOutput(true);
// Execute the compilation job
TeXJob job = new TeXJob("main", new PdfDevice(), options);
job.run();
System.out.println("TeX execution log captured successfully.");
}
}Mengelola penanganan kesalahan dan perilaku eksekusi
Konfigurasikan cara Aspose.TeX menangani peringatan eksekusi dan kesalahan penguraian selama kompilasi.
import com.aspose.tex.*;
public class ConfigureTeXExecutionSettings {
public static void main(String[] args) throws Exception {
// Initialize base options
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
// Configure directory paths
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Output/"));
// Set repeat-on-error and logging preferences
options.setRepeatOnError(false); // Halt or proceed without retry loops on non-fatal errors
options.setLogOutput(true); // Ensure detailed engine log is written to output directory
// Execute job
TeXJob job = new TeXJob("document", new PdfDevice(), options);
job.run();
System.out.println("Document compiled with fine-tuned error settings.");
}
}Instalasi dan Penyiapan
Integrasikan Aspose.TeX for Java ke dalam proyek Anda menggunakan Maven:
Package Manager Console Command
<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>Latest</version>
</dependency>
Pertanyaan yang Sering Diajukan
1. Apa yang terjadi jika saya tidak menentukan nama pekerjaan di TeXOptions?
Jika nama pekerjaan tidak dikonfigurasi secara eksplisit melalui setJobName(), Aspose.TeX secara default menggunakan nama file input utama (misalnya, main.tex menghasilkan main.pdf dan main.log).
2. Bagaimana cara menonaktifkan sepenuhnya pembuatan file kompilasi .log?
Atur options.setLogOutput(false) sebelum membuat dan menjalankan TeXJob. Ini mencegah mesin menghasilkan file log tambahan di disk atau di direktori kerja output.
3. Bisakah saya menangkap pesan terminal TeX di lingkungan server/headless?
Ya. Dengan menetapkan OutputMemoryTerminal khusus atau mengimplementasikan IOutputTerminal, Anda dapat mengarahkan semua pesan stdout/stderr terminal ke sistem logging perusahaan di server Anda (misalnya, Log4j atau SLF4J).