Δημιουργία PDF από HTML χρησιμοποιώντας Java [Βήμα-βήμα]
Αυτό το άρθρο θα σας δείξει πώς να δημιουργείτε PDF από HTML χρησιμοποιώντας Java. Μπορείτε εύκολα να επεξεργάζεστε και να αποδίδετε έγγραφα HTML, συμπεριλαμβανομένων των στυλ CSS.
Aspose.HTML για Java
επιτρέπει στις εφαρμογές σας να εκτελούν ένα ευρύ φάσμα εργασιών επεξεργασίας HTML και υποστηρίζει HTML5, CSS3, SVG και δυνατότητες HTML Canvas. Με το API μας μπορείτε να φορτώσετε ιστοσελίδες, να αναλύσετε, να επεξεργαστείτε το περιεχόμενο και να αποθηκεύσετε ή να μετατρέψετε τις σελίδες.
Δημοφιλή μορφές που μπορείτε να επεξεργαστείτε: XHTML, MHTML, SVG, MD, PDF, XPS, EPUB, PNG, TIFF, JPEG, BMP και άλλες.
Πλούσιο σύνολο λειτουργιών
Aspose.HTML για Java σας προσφέρει πολλές δυνατότητες σε διάφορους τομείς:
• Document object model – επιτρέπει την επεξεργασία, δημιουργία και διαγραφή κόμβων και είναι κατασκευασμένο σύμφωνα με την επίσημη τεκμηρίωση 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 γραμμή προς γραμμή:
- Χρησιμοποιώντας την κλάση HtmlDocument φορτώστε πρώτα το αρχείο HTML.
- Στη συνέχεια δημιουργήστε μια παρουσία της κλάσης PdfSaveOptions .
- Με τη μέθοδο 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();
}
}
Προσαρμογή της διαδικασίας απόδοσης με την επιλογή Save
Μπορείτε να προσαρμόσετε τη διαδικασία απόδοσης με τις [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] εάν θέλετε να αποθηκεύετε αρχεία σε απομακρυσμένη αποθήκευση, όπως το cloud ή μια βάση δεδομένων.
Η διεπαφή MemoryStreamProvider έχει σχεδιαστεί ως αντικείμενο callback για τη δημιουργία ροής και την απελευθέρωση της πρώιμα δημιουργημένης ροής μετά την απόδοση της σελίδας ή του εγγράφου.
Θα σας δείξουμε ένα παράδειγμα χρήσης του 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 για Java σύμφωνα με τις ανάγκες σας, η καλύτερη λύση είναι η [Πληρωμένη Συμβουλευτική] μας.