জ্ঞানভাণ্ডার

Java ব্যবহার করে HTML থেকে PDF তৈরি করুন [ধাপে-ধাপে]

এই নিবন্ধে দেখানো হবে কীভাবে Java ব্যবহার করে HTML থেকে PDF তৈরি করা যায়। আপনি সহজেই CSS স্টাইলসহ HTML ডকুমেন্টগুলি ম্যানিপুলেট এবং রেন্ডার করতে পারবেন।

Aspose.HTML for Java আপনার অ্যাপ্লিকেশনকে বিস্তৃত HTML ম্যানিপুলেশন কাজ সম্পাদন করতে সক্ষম করে এবং HTML5, CSS3, SVG, এবং HTML Canvas ফিচারগুলোকে সমর্থন করে। আমাদের API দিয়ে আপনি ওয়েব পেজ লোড, বিশ্লেষণ, কন্টেন্ট এডিট এবং পেজগুলো সেভ ও কনভার্ট করতে পারবেন।
আপনি যেসব জনপ্রিয় ফরম্যাট ম্যানিপুলেট করতে পারেন: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP, এবং অন্যান্য।

Java-এ HTML থেকে PDF

বৈশিষ্ট্যের সমৃদ্ধ সেট

Aspose.HTML for Java আপনাকে বিভিন্ন ক্ষেত্রে প্রচুর ফিচার প্রদান করে:

• Document object model - আপনাকে নোড এডিট, তৈরি এবং মুছে ফেলতে দেয়, এবং এটি অফিসিয়াল HTML ডকুমেন্টেশন অনুযায়ী তৈরি।
• উচ্চ-প্রদর্শনক্ষম কনভার্টার। সমর্থিত ফাইল ফরম্যাট সম্পর্কে আরও তথ্যের জন্য দেখুন বৈশিষ্ট্য তালিকা অথবা রূপান্তর প্রবন্ধ।
• CSS, JavaScript এবং অন্যান্য বিল্ট‑ইন ফরম্যাট প্রক্রিয়াকরণ।

এক লাইনের Java কোড দিয়ে HTML থেকে PDF তৈরি করুন

আপনি আপনার Java অ্যাপ্লিকেশনে এক লাইনের কোড ব্যবহার করে স্থির মেথডের মাধ্যমে সহজেই HTML থেকে PDF তৈরি করতে পারেন 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"
);

Java ব্যবহার করে HTML থেকে PDF লাইন বাই লাইন তৈরি করুন

নিচে লাইন বাই লাইন HTML থেকে PDF তৈরি করার ধাপগুলো দেওয়া হল:

  1. HtmlDocument ক্লাস ব্যবহার করে প্রথমে HTML ফাইল লোড করুন।
  2. এরপর PdfSaveOptions এর একটি ইনস্ট্যান্স তৈরি করুন।
  3. ConvertHTML() মেথডটি ব্যবহার করে Converter ক্লাসের মাধ্যমে HTML কে PDF ফাইল হিসেবে সেভ করুন। আপনাকে HTMLDocument , PdfSaveOptions এবং আউটপুট ফাইল পাথ ConvertHTML() মেথডে পাস করতে হবে PDF তৈরি করার জন্য।
// 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 অপশন দিয়ে রেন্ডারিং প্রক্রিয়া কাস্টমাইজ করুন

আপনি PdfSaveOptions ব্যবহার করে রেন্ডারিং প্রক্রিয়া কাস্টমাইজ করতে পারেন এবং page size , file permissions , margins , CSS media type ইত্যাদি নির্ধারণ করতে পারেন। নিচের উদাহরণে আপনি দেখতে পাবেন কীভাবে 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"
);

Fine-Tuning Converters প্রবন্ধে আপনি আরও তথ্য পেতে পারেন 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 বাস্তবায়নে সহায়তা করবে, তবে আমাদের সর্বোত্তম সমাধান হল আমাদের পেইড কনসাল্টিং