Rugalmas TeX-kimenetek és kimeneti munkakönyvtárak Java nyelven
Konfigurálja a TeX- és LaTeX-dokumentumok fordításának kimeneti célhelyeit és tárolási mechanizmusait az Aspose.Font for Java használatával. Mentse a renderelt dokumentumokat (PDF, XPS, SVG, PNG, JPEG, TIFF, BMP) és a fordítás kiegészítő fájljait (.log, .aux) közvetlenül fizikai lemezmappákba, tömörített ZIP-archívumokba vagy egyéni memóriabeli adatfolyamokba anélkül, hogy asztali TeX-telepítésre lenne szükség.
A fordítás során a TeX szedőmotor két fő kimeneti kategóriát hoz létre:
- Elsődleges kimeneti fájlok: A célként megadott dokumentum (például
.pdf,.xpsvagy képsorozatok). - Kiegészítő kimeneti fájlok: Naplófájlok (
.log), kiegészítő adatok (.aux) és a LaTeX-makrók által létrehozott köztes fájlok.
Az Aspose.TeX for Java az IOutputWorkingDirectory interfészen keresztül absztrakt munkakönyvtárakba foglalja a kimeneti célhelyeket, lehetővé téve a fejlesztők számára a kimeneti adatfolyamok dinamikus irányítását. Támogatott kimeneti könyvtártípusok:
- A Helyi fájlrendszer kimeneti munkakönyvtár az
OutputFileSystemDirectoryhasználatával közvetlenül a helyi lemez mappáiba menti a renderelt dokumentumokat és naplófájlokat. - A ZIP-archívum kimeneti munkakönyvtár az
OutputZipDirectoryhasználatával egyetlen.zipfájlba csomagolja a kimeneti dokumentumokat, naplókat és a létrehozott erőforrásokat. - Az Egyéni adatfolyam/memória kimeneti munkakönyvtár az
IOutputWorkingDirectoryhasználatával közvetlenül a memóriába, adatbázis-BLOB-okba vagy felhőalapú adatfolyamokba (S3/Azure Blob) rögzíti a kimenetet.
TeX-kimenet mentése helyi fájlrendszer-könyvtárba
Irányítsa az elsődleges dokumentumkimeneteket és a kiegészítő fordítási naplókat egy fizikai mappába az OutputFileSystemDirectory használatával.
import com.aspose.tex.*;
import java.io.IOException;
public class TeXOutputToFileSystem {
public static void main(String[] args) throws IOException {
// Initialize options for LaTeX format using ObjectTeX
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
// Set input working directory
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
// Set output working directory for compiled documents and logs
String outputDirPath = "C:/TeXProject/Output/";
options.setOutputWorkingDirectory(new OutputFileSystemDirectory(outputDirPath));
// Execute TeX job producing PDF output
TeXJob job = new TeXJob("main", new PdfDevice(), options);
job.run();
System.out.println("TeX compilation complete. Outputs saved to: " + outputDirPath);
}
}TeX-kimenet közvetlen mentése ZIP-archívumba
Csomagolja a renderelt dokumentumokat a köztes naplókkal és a létrehozott képekkel együtt egy tömörített ZIP-fájlba az OutputZipDirectory használatával.
import com.aspose.tex.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class TeXOutputToZipArchive {
public static void main(String[] args) throws IOException {
// Initialize LaTeX conversion options
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
// Create output stream for destination ZIP file
FileOutputStream zipStream = new FileOutputStream("C:/TeXProject/OutputBundle.zip");
// Set output working directory to ZIP stream
options.setOutputWorkingDirectory(new OutputZipDirectory(zipStream));
// Run job targeting PDF rendering
TeXJob job = new TeXJob("main", new PdfDevice(), options);
job.run();
zipStream.close();
System.out.println("TeX outputs and logs successfully bundled into OutputBundle.zip.");
}
}TeX-kimenet továbbítása memóriába/ByteArray-be
Felhőalapú vagy webalkalmazások esetén rögzítse a renderelt dokumentumokat közvetlenül bájtfolyamokként anélkül, hogy fájlokat kellene írnia a helyi lemeztárhelyre.
import com.aspose.tex.*;
import java.io.ByteArrayOutputStream;
public class TeXOutputToMemoryStream {
public static void main(String[] args) throws Exception {
// Configure conversion options
TeXOptions options = TeXOptions.consoleAppOptions(TeXConfig.objectLaTeX());
options.setInputWorkingDirectory(new InputFileSystemDirectory("C:/TeXProject/Input/"));
// Initialize memory output stream device
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
// Configure output working directory for log/auxiliary files
options.setOutputWorkingDirectory(new OutputFileSystemDirectory("C:/TeXProject/Logs/"));
// Run compilation directing PDF output to byte array stream
TeXJob job = new TeXJob("main", new PdfDevice(outputStream), options);
job.run();
byte[] pdfBytes = outputStream.toByteArray();
System.out.println("Generated PDF size in memory: " + pdfBytes.length + " bytes.");
}
}Telepítés és beállítás
Integrálja az Aspose.TeX for Java könyvtárat a projektjébe Maven használatával:
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>
Gyakran ismételt kérdések
1. Milyen kimeneti céleszközöket támogat az Aspose.TeX for Java?
Az Aspose.TeX többféle kimeneti eszközt támogat, többek között a PdfDevice (PDF-dokumentumok), az XpsDevice (XPS-dokumentumok), az SvgDevice (méretezhető vektorgrafikák) és az ImageDevice (raszterképek, például PNG, JPEG, TIFF és BMP) eszközöket.
2. Hol kerülnek mentésre a fordítás kiegészítő fájljai (.log, .aux)?
A kiegészítő fájlok a TeXOptions.setOutputWorkingDirectory() által megadott könyvtárba kerülnek. Ha OutputZipDirectory könyvtárat használ, a .log és .aux fájlok közvetlenül a ZIP-archívumba kerülnek a renderelt dokumentum mellé.
3. Letilthatom vagy átirányíthatom a naplófájlok kimenetét?
Igen. A terminál-/naplókimenet kezelését a TeXOptions.setTerminalOut() segítségével testreszabhatja, vagy egy egyéni IOutputWorkingDirectory implementációt rendelhet hozzá a fordítási naplók elvetéséhez vagy átirányításához.