מאגר ידע

צור PDF מ-HTML באמצעות Java [שלב-אחר-שלב]

מאמר זה יראה לך כיצד ליצור קבצי PDF מ-HTML באמצעות Java. אתה יכול בקלות לתפעל ולרנדר מסמכי HTML כולל סגנונות CSS.

Aspose.HTML for Java מאפשר ליישומים שלך לבצע מגוון רחב של משימות תפעול HTML ותומך ב‑HTML5, CSS3, SVG ותכונות HTML Canvas. עם ה‑API שלנו ניתן לטעון דפי אינטרנט, לנתח, לערוך את התוכן ולשמור ולהמיר דפים.
פורמטים פופולריים שניתן לתפעל: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP ועוד.

PDF מ‑HTML ב‑Java

קבוצת תכונות עשירה

Aspose.HTML for Java מציע לך מגוון רחב של תכונות בתחומים שונים:

• מודל אובייקט המסמך – מאפשר לערוך, ליצור ולהסיר צמתים, ונבנה בהתאם לתיעוד הרשמי של HTML.
• ממירים בעלי ביצועים גבוהים. למידע נוסף על פורמטים נתמכים בקרו ב‑רשימת תכונות או במאמרי ה‑המרה .
• עיבוד CSS, JavaScript ותבניות מובנות אחרות.

צור PDF מ‑HTML עם שורת קוד אחת ב‑Java

אתה יכול בקלות ליצור PDF מ‑HTML ביישום ה‑Java שלך עם שורת קוד אחת בלבד באמצעות השיטות הסטטיות של מחלקת ה‑Converter .

// Invoke the ConvertHTML method to convert the HTML to PDF.
com.aspose.html.converters.Converter.convertHTML(
        "<span>Hello World!!</span>",
        ".",
        new com.aspose.html.saving.PdfSaveOptions(),
        "output.pdf"
);

צור PDF מ‑HTML שורה‑בשורה באמצעות Java

להלן השלבים ליצירת PDF מ‑HTML שורה‑בשורה:

  1. באמצעות מחלקת ה‑HtmlDocument טען תחילה את קובץ ה‑HTML.
  2. לאחר מכן צור מופע של ה‑PdfSaveOptions .
  3. באמצעות השיטה ConvertHTML() של מחלקת ה‑Converter שמור את ה‑HTML כקובץ PDF. עליך להעביר את ה‑HTMLDocument , ה‑PdfSaveOptions ונתיב קובץ הפלט לשיטת ConvertHTML() כדי ליצור PDF מ‑HTML.
// Prepare an HTML code and save it to the file.
String code = "<span>Hello World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
    fileWriter.write(code);
}

// Initialize an HTML document from the file
com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("document.html");
try {
    // Initialize PdfSaveOptions
    com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();

    // Convert HTML to PDF
    com.aspose.html.converters.Converter.convertHTML(
            document,
            options,
            "output.pdf"
    );
} finally {
    if (document != null) {
        document.dispose();
    }
}

התאמת תהליך הרינדור עם אפשרות השמירה

אתה יכול להתאים את תהליך הרינדור באמצעות ה‑PdfSaveOptions , ולציין את ה‑גודל דף , הרשאות קובץ , השוליים , סוג מדיה של CSS ועוד רבים. בדוגמה שלהלן תוכל לראות כיצד להשתמש ב‑PdfSaveOptions וליצור קובץ PDF עם גודל דף מותאם וצבע רקע מותאם:

// Prepare an HTML code and save it to the file
String code = "<span>Hello</span> <span>World!!</span>";
try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
    fileWriter.write(code);
}

// Set A5 as a page-size and change the background color to green
com.aspose.html.saving.PdfSaveOptions options = new com.aspose.html.saving.PdfSaveOptions();
com.aspose.html.rendering.PageSetup pageSetup = new com.aspose.html.rendering.PageSetup();
com.aspose.html.drawing.Page anyPage = new com.aspose.html.drawing.Page();
anyPage.setSize(
        new com.aspose.html.drawing.Size(
                com.aspose.html.drawing.Length.fromInches(8.3f),
                com.aspose.html.drawing.Length.fromInches(5.8f)
        )
);
pageSetup.setAnyPage(anyPage);
options.setPageSetup(pageSetup);

options.setBackgroundColor(com.aspose.html.drawing.Color.getGreen());

// Convert HTML document to PDF
com.aspose.html.converters.Converter.convertHTML(
        "document.html",
        options,
        "output.pdf"
);

במאמר ה‑כוונון מדויק של ממירים תוכל למצוא מידע נוסף על ה‑PdfSaveOptions .

ספק זרם פלט

אתה יכול לממש את הממשק MemoryStreamProvider אם ברצונך לשמור קבצים באחסון מרוחק, כגון ענן או מסד נתונים. ממשק MemoryStreamProvider מתוכנן כאובייקט קריאה חוזרת ליצירת זרם ולשחרור הזרם שנוצר מוקדם לאחר רינדור העמוד או המסמך.

נציג עבורך דוגמה לשימוש ב‑MemoryStreamProvider למטה:

package com.aspose.html.examples.java;

// For complete examples and data files, please go to https://github.com/aspose-html/Aspose.HTML-for-Java
public class MemoryStreamProvider implements java.io.Closeable {
    // List of InputStream objects created during the document rendering
    public java.util.List<java.io.InputStream> lStream = new java.util.ArrayList<>();

    @Override
    public void close() throws java.io.IOException {
        for (java.io.InputStream stream : lStream) {
            stream.close();
        }
    }
}
// Create an instance of MemoryStreamProvider
try (MemoryStreamProvider streamProvider = new MemoryStreamProvider()) {
    // Initialize an HTML document
    com.aspose.html.HTMLDocument document = new com.aspose.html.HTMLDocument("<span>Hello World!!</span>", ".");
    try {
        // Convert HTML to PDF by using the MemoryStreamProvider
        com.aspose.html.converters.Converter.convertHTML(
                document,
                new com.aspose.html.saving.PdfSaveOptions(),
                streamProvider.lStream
        );

        // Get access to the memory stream that contains the result data
        java.io.InputStream inputStream = streamProvider.lStream.stream().findFirst().get();

        // Flush the result data to the output file
        try (java.io.FileOutputStream fileOutputStream = new java.io.FileOutputStream("output.pdf")) {
            byte[] buffer = new byte[inputStream.available()];
            inputStream.read(buffer);
            fileOutputStream.write(buffer);
        }
    } finally {
        if (document != null) {
            document.dispose();
        }
    }
}

Aspose מספקת תמיכה טכנית לכל מוצריה, כולל מאמרי בסיס ידע , תיעוד , בלוג , דוגמאות קוד , והדגמות , וכן תמיכה חינמית וגם תמיכה בתשלום . אם אתה זקוק למומחים שיעבדו יחד איתך ויסייעו לך ליישם את Aspose.HTML for Java בהתאם לצרכיך, הפתרון הטוב ביותר הוא ה‑ייעוץ בתשלום .