Bilik Bazası

Java istifadə edərək HTML-dən PDF yaratmaq [Addım‑addım]

Bu məqalə sizə Java istifadə edərək HTML‑dən PDF‑lər yaratmağı göstərəcək. CSS stilləri daxil olmaqla HTML sənədlərini asanlıqla manipulyasiya və renderləyə bilərsiniz.

Aspose.HTML Java üçün tətbiqlərinizə geniş HTML manipulyasiya imkanları verir və HTML5, CSS3, SVG və HTML Canvas xüsusiyyətlərini dəstəkləyir. API‑imiz vasitəsilə veb səhifələri yükləyə, məzmunu təhlil edə, redaktə edə və səhifələri saxlaya və çevrilə bilərsiniz.
Manipulyasiya edə biləcəyiniz populyar formatlar: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP və digər formatlar.

Java‑da HTML‑dən PDF

Zəngin xüsusiyyətlər dəsti

Aspose.HTML for Java sizə müxtəlif sahələrdə çoxsaylı xüsusiyyətlər təqdim edir:

• Document object model – düyünləri redaktə, yarat və silməyə imkan verir və rəsmi HTML sənədləşməsinə uyğun hazırlanıb.
• Yüksək performanslı konvertorlar. Dəstəklənən fayl formatları haqqında daha çox məlumat üçün Xüsusiyyətlər Siyahısı və ya Çevirmə məqalələrinə baxın.
• CSS, JavaScript və digər daxili formatların emalı.

Java kodunun tək sətiri ilə HTML‑dən PDF yaratmaq

Java tətbiqinizdə HTML‑dən PDF‑i tamamilə bir sətir kodla statik Converter sinifinin metodlarından istifadə edərək asanlıqla yarada bilərsiniz.

// 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"
);

Java istifadə edərək HTML‑dən PDF‑i sətir‑sətir yaratmaq

Aşağıda HTML‑dən PDF‑i sətir‑sətir yaratmaq üçün addımlar verilmişdir:

  1. İlk öncə HtmlDocument sinifi ilə HTML faylını yükləyin.
  2. Daha sonra PdfSaveOptions nümunəsini yaradın.
  3. ConvertHTML() metodunu Converter sinifindən istifadə edərək HTML‑i PDF faylı kimi saxlayın. Bu metod üçün HTMLDocument , PdfSaveOptions və çıxış faylının yolunu ötürməlisiniz.
// 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();
    }
}

Save seçimi ilə renderləmə prosesini fərdiləşdirin

PdfSaveOptions ilə renderləmə prosesini fərdiləşdirə, səhifə ölçüsü , fayl icazələri , kənar boşluqları , CSS media type və daha bir çox parametri təyin edə bilərsiniz. Aşağıdakı nümunədə PdfSaveOptions‑un necə istifadə olunacağını və xüsusi səhifə ölçüsü ilə fon rəngi təyin edilmiş PDF‑in yaradılmasını görə bilərsiniz:

// 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"
);

Konvertorların incə tənzimlənməsi məqaləsində PdfSaveOptions haqqında daha çox məlumat tapa bilərsiniz.

Çıxış axını təmin edicisi

Uzaq saxlamada, məsələn buludda və ya verilənlər bazasında faylları saxlamaq istəyirsinizsə, MemoryStreamProvider interfeysini həyata keçirə bilərsiniz. MemoryStreamProvider interfeysi səhifə və ya sənəd renderlənəndən sonra yaradılan axını bağlamaq üçün geri çağırış obyekt kimi dizayn edilmişdir.

Aşağıda MemoryStreamProvider‑in istifadəsinə bir nümunə təqdim edirik:

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 bütün məhsulları üçün texniki dəstək təqdim edir, bu dəstək bilik bazası məqalələri , sənədlər , bloq , kod nümunələri , və demo nümunələri ilə yanaşı, Pulsuz Dəstək və yüksək mövcudluğa malik Ödənişli Dəstək də əhatə edir.

Ehtiyaclarınıza uyğun olaraq Aspose.HTML for Java‑ni tətbiq etməkdə sizə kömək edəcək mütəxəssislərə ehtiyacınız varsa, ən yaxşı həll bizim Ödənişli Konsultasiya xidmətimizdir.