צור 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.

// דוגמה זו מדגימה כיצד להמיר טקסט ל-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 לספריית ZIP של PDF.
// ספריית עבודה
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 עבור Java API באמצעות תיעוד. בכל מקרה של אי בהירות, אנא אל תהסס לפנות אלינו בפורום.

ראה גם