JavaScript API για τη δημιουργία δυναμικών εγγράφων Word

Ανοιχτού κώδικα βιβλιοθήκη JavaScript για τη δημιουργία δυναμικών εγγράφων Word με Node.js και εφαρμογές βασισμένες σε πρόγραμμα περιήγησης.

Τι είναι τα Docx-templates;

Το Docx-Templates είναι μια ανοιχτού κώδικα βιβλιοθήκη JavaScript που επιτρέπει στους προγραμματιστές λογισμικού να δημιουργούν δυναμικά έγγραφα Microsoft Word (.docx) χρησιμοποιώντας προκαθορισμένα πρότυπα. Αντί να δημιουργούν χειροκίνητα έγγραφα Word προγραμματιστικά, οι προγραμματιστές μπορούν να σχεδιάσουν πρότυπα στο Microsoft Word και να ενσωματώσουν δυναμικά δεδομένα χρησιμοποιώντας ενσωματωμένες εντολές. Αυτή η βιβλιοθήκη λειτουργεί τόσο σε περιβάλλον Node.js όσο και σε περιβάλλον περιηγητή, καθιστώντας την ιδιαίτερα ευέλικτη για σύγχρονες διαδικτυακές και διακομιστικές εφαρμογές. Επεξεργάζεται αρχεία DOCX αναλύοντας τη εσωτερική δομή XML τους και αντικαθιστώντας τις εντολές προτύπου με πραγματικά δεδομένα κατά τη διάρκεια της εκτέλεσης.

Η βιβλιοθήκη Docx-Templates είναι ένα ισχυρό, ανοιχτού κώδικα εργαλείο σχεδιασμένο τόσο για περιβάλλοντα Node.js όσο και για προγράμματα περιήγησης. Το κύριο πλεονέκτημα της βιβλιοθήκης είναι ο διαχωρισμός του σχεδίου και της λογικής. Οι μη τεχνικοί χρήστες μπορούν να σχεδιάσουν τη διάταξη και το στυλ στο Word, ενώ οι προγραμματιστές εστιάζουν στην ενσωμάτωση των δεδομένων. Υποστηρίζει σύνθετη λογική όπως βρόχους, υπό όρους μορφοποίηση, και ακόμη την εκτέλεση αποσπασμάτων JavaScript απευθείας μέσα στο έγγραφο. Αυτό το καθιστά ιδανική λύση για προγραμματιστές που χρειάζονται να παράγουν αναφορές υψηλής πιστότητας χωρίς να παλεύουν με XML ή ιδιόκτητα εργαλεία σχεδίασης.

Previous Next

Ξεκινώντας με τα Docx-templates

Ο συνιστώμενος τρόπος εγκατάστασης της βιβλιοθήκης Docx-templates είναι μέσω npm. Παρακαλώ χρησιμοποιήστε την ακόλουθη εντολή για ομαλή εγκατάσταση

Εγκατάσταση Docx-Templates μέσω NPM

$ npm install docx-templates 

Εγκατάσταση Docx-Templates μέσω Yarn/strong>

$ yarn add docx-templates 

Δημιουργία Εγγράφων βάσει Προτύπων μέσω JS API

Η ανοιχτού κώδικα βιβλιοθήκη Docx-Templates επιτρέπει στους προγραμματιστές λογισμικού να σχεδιάζουν έγγραφα στο Word και να ενσωματώνουν δεδομένα δυναμικά χρησιμοποιώντας απλές εντολές. Αυτή η προσέγγιση διαχωρίζει την παρουσίαση από τη λογική, καθιστώντας τα πρότυπα εύκολα στη διαχείριση και την ενημέρωση χωρίς αλλαγή κώδικα. Μπορείτε να έχετε άμεση πρόσβαση στις ιδιότητες του αντικειμένου δεδομένων σας ή ακόμη και να εκτελείτε απλές εκφράσεις. Για παράδειγμα, για να εισάγετε ένα πλήρες όνομα, το πρότυπό σας θα μοιάζει έτσι: {firstName} {surname}. Η βιβλιοθήκη αξιολογεί τον κώδικα και τον αντικαθιστά αδιάκοπα.

Πώς να δημιουργήσετε δυναμικά έγγραφα Word μέσα σε εφαρμογές JavaScript;

import createReport from 'docx-templates';
import fs from 'fs';

const template = fs.readFileSync('template.docx');

const report = await createReport({
  template,
  data: { name: 'John', surname: 'Doe' },
});

fs.writeFileSync('output.docx', report);

Δυναμική Ένεση Εικόνων μέσω JavaScript

Πέρα από το κείμενο, η ανοιχτού κώδικα βιβλιοθήκη Docx-Templates μπορεί να ενσωματώνει εικόνες άμεσα. Αυτό περιλαμβάνει τοπικά αρχεία, εικόνες από URL ή ακόμη και κωδικοποιημένα QR codes που δημιουργούνται προγραμματιστικά. Μπορείτε να ελέγχετε το μέγεθος της εικόνας και τη θέση της. Αυτή η λειτουργία είναι καθοριστική για τη δημιουργία καρτών αναγνώρισης, καταλόγων προϊόντων ή αναφορών που απαιτούν δυναμικά διαγράμματα και οπτικά στοιχεία. Ακολουθεί ένα απλό παράδειγμα που δείχνει πώς να εισάγετε εικόνα σε έγγραφα Word μέσω του JavaScript API.

Πώς να εισάγετε εικόνα άμεσα μέσα σε έγγραφα Word μέσω του JavaScript API?

const buffer = await createReport({
  template,
  data: {
    userAvatar: async () => {
      const resp = await fetch('https://example.com/photo.png');
      return { width: 3, height: 3, data: await resp.arrayBuffer(), extension: '.png' };
    }
  },
});
// In Word: {IMAGE userAvatar()}

Ισχυροί Βρόχοι (FOR/END-FOR)

Η διαχείριση λιστών δεδομένων είναι απρόσκοπτη με την εντολή FOR. Αυτή η δυνατότητα σας επιτρέπει να επαναλαμβάνετε πίνακες για να δημιουργείτε σειρές πινάκων, λίστες ή ακόμη και ολόκληρες ενότητες ενός εγγράφου. Η βιβλιοθήκη Docx-Templates έχει συμπεριλάβει υποστήριξη για ένθετους βρόχους, επιτρέποντάς σας να αναπαριστάτε σύνθετες ιεραρχικές δομές δεδομένων, όπως μια λίστα τμημάτων με τους αντίστοιχους υπαλλήλους τους, διατηρώντας ταυτόχρονα το αρχικό στυλ του Word. Το παρακάτω παράδειγμα κώδικα δείχνει πώς να το επιτύχετε.

Πώς να εφαρμόσετε προχωρημένο βρόχο μέσα σε εφαρμογές JavaScript;

const buffer = await createReport({
  template,
  data: {
    projects: [
      { name: 'SEO Optimization', status: 'Completed' },
      { name: 'API Integration', status: 'In Progress' }
    ]
  },
});
/* In Word:
{FOR project IN projects}
Project: {project.name} - Status: {project.status}
{END-FOR}
*/

Προσαρμοσμένο Πλαίσιο JavaScript (EXEC)

Μία από τις πιο προηγμένες δυνατότητες της βιβλιοθήκης Docx-Templates είναι η δυνατότητα εκτέλεσης αυθαίρετων αποσπασμάτων JavaScript χρησιμοποιώντας την εντολή EXEC (ή !). Παρέχοντας ένα additionalJsContext, μπορείτε να εκθέσετε προσαρμοσμένες βοηθητικές λειτουργίες στο πρότυπο. Αυτό επιτρέπει στο πρότυπο να εκτελεί υπολογισμούς, να μορφοποιεί ημερομηνίες ή να χειρίζεται συμβολοσειρές εσωτερικά χωρίς την ανάγκη προεπεξεργασίας κάθε δεδομένου στο κύριο λογισμικό σας.

 Ελληνικά