Χωρίς μεταφόρτωση, 100% τοπικά, χωρίς λογαριασμό

HTML σε PDF

Επικολλήστε HTML, επιλέξτε μέγεθος σελίδας και κατεβάστε ένα PDF, όλα αποδίδονται στο πρόγραμμα περιήγησής σας.

Πώς λειτουργεί το HTML σε PDF

Το HTML to PDF λαμβάνει κώδικα HTML που επικολλάτε στον επεξεργαστή, τον εξυγιαίνει με DOMPurify για να αφαιρέσει δέσμες ενεργειών και μη ασφαλή χαρακτηριστικά, τον αποδίδει σε εκτός οθόνης καμβά χρησιμοποιώντας html2canvas, και κωδικοποιεί το αποτέλεσμα σε PDF με jsPDF. Ολόκληρη η ροή εκτελείται μέσα στην καρτέλα του προγράμματος περιήγησής σας· κανένας κώδικας HTML ή αποδοθείσα έξοδος δεν μεταδίδεται σε κανέναν διακομιστή. Αυτό το καθιστά κατάλληλο για μετατροπή τμημάτων HTML που περιέχουν προσωπικά δεδομένα που δεν θα θέλατε να επικολλήσετε σε διαδικτυακή υπηρεσία.

Κατανοήστε τη μορφή εξόδου πριν βασιστείτε σε αυτήν. Οι σελίδες PDF είναι εικόνες raster, όχι διανυσματικό κείμενο. Το κείμενο στο αποτέλεσμα δεν είναι επιλέξιμο, δεν είναι αναζητήσιμο και δεν μπορεί να επαναρρυθμιστεί. Εξωτερικοί πόροι όπως εικόνες αναφερόμενες σε URL αποκλείονται από την πολιτική CORS του προγράμματος περιήγησης και δεν θα φορτωθούν. Ενσωματωμένα στιλ και CSS λειτουργούν, αλλά σύνθετες διατάξεις με προσαρμοσμένες γραμματοσειρές web ή προηγμένο CSS grid μπορεί να μην αποδίδονται με ακρίβεια. Για πιστή ως έγγραφο μετατροπή πλήρων σελίδων web, ένα headless πρόγραμμα περιήγησης που εκτελείται από την πλευρά διακομιστή είναι το καταλληλότερο εργαλείο.

HTML σε PDF: οδηγός βήμα προς βήμα

  1. Επικολλήστε τον κώδικα HTML στην περιοχή επεξεργαστή.
  2. Προαιρετικά ρυθμίστε το μέγεθος σελίδας (A4 ή Letter) και τον προσανατολισμό.
  3. Κάντε κλικ στο convert· το DOMPurify εξυγιαίνει το HTML και το html2canvas το αποδίδει.
  4. Περιμένετε το jsPDF να κωδικοποιήσει την έξοδο καμβά ως σελίδες PDF.
  5. Κατεβάστε το PDF.

Συνήθεις περιπτώσεις χρήσης

  • Δημιουργήσατε HTML τιμολόγιο στο πρόγραμμα περιήγησής σας από τοπικό πρότυπο και θέλετε αντίγραφο PDF χωρίς να το στείλετε σε υπηρεσία μετατροπής.
  • Μια απλή HTML έκθεση δημιουργημένη από δεδομένα API χρειάζεται αποθήκευση ως PDF για αρχειοθέτηση· επικολλήστε το HTML και μετατρέψτε τοπικά.
  • Γράψατε στυλιζαρισμένο πρότυπο email HTML και θέλετε να κάνετε προεπισκόπηση του πώς θα φαινόταν εκτυπωμένο ως PDF.
  • Προγραμματιστής χρειάζεται γρήγορο PDF από τμήμα HTML κατά τη δοκιμή, χωρίς να ρυθμίσει headless πρόγραμμα περιήγησης από την πλευρά διακομιστή.

Συχνές ερωτήσεις

Γιατί το κείμενο στο PDF εξόδου δεν είναι επιλέξιμο;

Η ροή μετατροπής αποδίδει το HTML σε bitmap καμβά χρησιμοποιώντας html2canvas, και στη συνέχεια κωδικοποιεί αυτό το bitmap ως δεδομένα εικόνας μέσα στις σελίδες PDF με jsPDF. Η έξοδος είναι ραστεροποιημένη εικόνα, όχι επίπεδο κειμένου. Αν χρειάζεστε PDF με επιλέξιμο κείμενο, θα χρειαστείτε headless πρόγραμμα περιήγησης από την πλευρά διακομιστή όπως Puppeteer, κάτι που αυτό το εργαλείο αποφεύγει σκόπιμα για να κρατά την επεξεργασία τοπική.

Γιατί οι εικόνες στο HTML μου δεν εμφανίζονται στο PDF;

Οι εικόνες φορτωμένες από εξωτερικές URL υπόκεινται στην πολιτική CORS του προγράμματος περιήγησης. Αν ο διακομιστής εικόνων δεν στέλνει ελαστικές κεφαλίδες CORS, το html2canvas δεν μπορεί να διαβάσει τα δεδομένα pixel και η θέση εικόνας αποδίδεται κενή. Εικόνες κωδικοποιημένες ως base64 ενσωματωμένες απευθείας στο HTML ή εικόνες από την ίδια προέλευση λειτουργούν χωρίς αυτόν τον περιορισμό.

Αποστέλλεται το HTML που επικολλώ σε διακομιστή;

Όχι. Το HTML παραμένει στη μνήμη προγράμματος περιήγησης καθ' όλη τη διάρκεια. Το DOMPurify το εξυγιαίνει από την πλευρά πελάτη, το html2canvas το αποδίδει από την πλευρά πελάτη, και το jsPDF κωδικοποιεί το PDF από την πλευρά πελάτη. Τίποτα δεν φεύγει από την καρτέλα προγράμματος περιήγησης.

Τι αφαιρεί η εξυγίανση DOMPurify;

Το DOMPurify αφαιρεί tags δέσμης ενεργειών, χαρακτηριστικά χειριστή συμβάντων όπως onclick και onload, URL javascript: και άλλες κατασκευές που θα μπορούσαν να εκτελέσουν κώδικα. Διατηρεί δομικά και markup στιλ, οπότε η αποδοθείσα έξοδος φαίνεται ίδια αλλά είναι ασφαλής για εισαγωγή σε περιβάλλον εγγράφου.

Μπορώ να μετατρέψω URL πλήρους σελίδας web αντί να επικολλώ HTML;

Όχι. Το εργαλείο λειτουργεί με κώδικα HTML που επικολλάτε απευθείας. Η φόρτωση URL θα απαιτούσε ανάκτηση της σελίδας, κάτι που εκτίθεται σε περιορισμούς CORS για τους περισσότερους ιστότοπους και θα περιελάμβανε αίτημα δικτύου που θα έβγαζε τη λειτουργία εκτός του τοπικού μοντέλου επεξεργασίας.