1. Prodotti
  2.   Elaborazione di testi
  3.   Ruby
  4.   Ruby-Docx-Templater
 
  

Crea File Word Dinamici da Template tramite API Ruby Gratuita

Libreria Ruby Open Source di Prima Scelta Progettata per Creare Documenti Microsoft Word (.docx) Dinamici da Template Pre-progettati.

Cos'è Ruby-Docx-Templater?

Generare documenti Microsoft Word dinamici (.docx) da un'applicazione Ruby può essere un compito sorprendentemente complesso. Potresti aver bisogno di generare report, fatture o lettere che utenti non tecnici hanno progettato. Sebbene esistano molte soluzioni, spesso richiedono dipendenze ingombranti come LibreOffice o installazioni locali di Word. Entra in gioco Ruby-Docx-Templater, un gem leggero che adotta un approccio diverso. Consente agli utenti di utilizzare un file .docx standard come template, manipolandolo interamente in memoria per inserire i propri dati. Questo lo rende un'opzione veloce, sicura e pronta per il deployment per qualsiasi sviluppatore Ruby.

Al suo interno, la libreria Ruby-Docx-Templater è un motore di templating specificamente per file .docx. È un gem Ruby leggero e potente progettato per creare documenti Microsoft Word (.docx) dinamici da template pre-progettati. Funziona utilizzando un semplice sistema basato su tag all'interno di un documento Word standard. Crei un template in Word, inserisci tag speciali dove desideri che appaia il contenuto dinamico, e poi lasci che il gem sostituisca quei tag con i dati reali dalla tua applicazione Ruby. La sua elaborazione in memoria, il supporto per strutture di tabelle complesse e la conservazione della formattazione lo rendono ideale per l'automazione dei documenti aziendali.

Previous Next

Iniziare con Ruby-Docx-Templater

Il modo consigliato per installare Ruby-Docx-Templater è usare RubyGems. Per favore utilizza il comando seguente per un'installazione fluida.

Installa Ruby-Docx-Templater via RubyGems

 gem install ruby-docx-templater 

Installa Ruby-Docx-Templater via GitHub

 git clone https://github.com/jawspeak/ruby-docx-templater.git 
You can also download it directly from GitHub.

Crea File Word Docx da Template via Ruby

La funzionalità più basilare di Ruby-Docx-Templater è la semplice sostituzione del testo. Puoi inserire segnaposto ovunque nel tuo documento Word, e la libreria li sostituirà con i valori reali. La bellezza di questo approccio è che la formattazione viene preservata. Se imposti $COMPANY_NAME$ in grassetto e rosso nel tuo template, rimarrà in grassetto e rosso nell'output. Questo dà ai designer il controllo completo sull'aspetto del documento. Nel tuo template Word, definisci le chiavi usando la sintassi $KEY$. I simboli del dollaro agiscono da delimitatori, rendendo chiaro dove devono avvenire le sostituzioni.

Creare un File Word Docx usando un File Template via Ruby?

require 'docx_templater'

# Load your template file
doc = DocxTemplater::TemplateProcessor.new('invoice_template.docx')

# Define your data as a hash
data = {
  'COMPANY_NAME' => 'Acme Corporation',
  'INVOICE_NUMBER' => 'INV-2024-001',
  'INVOICE_DATE' => '2024-11-04',
  'CLIENT_NAME' => 'John Smith',
  'TOTAL_AMOUNT' => '$1,250.00'
}

# Render the document with your data
doc.render(data)

# Save the output
doc.save('output_invoice.docx')

Supporto a Loop di Tabelle a Più Righe

Una delle funzionalità più potenti è la capacità di generare tabelle dinamiche con più righe. Questo è essenziale per creare elenchi dettagliati in fatture, cataloghi di prodotti o qualsiasi report con dati ripetuti. Definisci una zona di loop nella tua tabella e la libreria duplicherà tutto ciò che si trova tra questi marcatori per ogni elemento del tuo array di dati. Puoi formattare ogni cella individualmente in Word. Per esempio, potresti allineare a destra i numeri, rendere i titoli in grassetto o applicare caratteri specifici. Tutta la formattazione sarà preservata nelle righe generate.

Come Creare un Report Prodotto con Più Righe in Formati Docx via Libreria Ruby?

require 'docx_templater'

doc = DocxTemplater::TemplateProcessor.new('product_report.docx')

# Define items as an array of hashes
data = {
  'REPORT_TITLE' => 'Monthly Sales Report',
  'REPORT_DATE' => 'November 2024',
  'ITEMS_LIST' => [
    {
      'PRODUCT_NAME' => 'Laptop Pro 15"',
      'QUANTITY' => '5',
      'UNIT_PRICE' => '$1,200.00',
      'TOTAL' => '$6,000.00'
    },
    {
      'PRODUCT_NAME' => 'Wireless Mouse',
      'QUANTITY' => '12',
      'UNIT_PRICE' => '$25.00',
      'TOTAL' => '$300.00'
    },
    {
      'PRODUCT_NAME' => 'USB-C Cable',
      'QUANTITY' => '20',
      'UNIT_PRICE' => '$15.00',
      'TOTAL' => '$300.00'
    }
  ]
}

doc.render(data)
doc.save('output_sales_report.docx')

Elaborazione In-Memoria

La libreria open source Ruby-Docx-Templater è molto facile da gestire e supporta l'elaborazione in memoria all'interno delle applicazioni Ruby. Tutta la manipolazione dei documenti avviene in memoria, il che significa che i tuoi dati sensibili non toccheranno mai il file system durante il processo di templating. Questo è cruciale per le applicazioni che gestiscono informazioni confidenziali come cartelle cliniche, documenti finanziari o dati personali.

Lavorare con Word XML

Un aspetto unico di Ruby-Docx-Templater è che a volte è necessario modificare manualmente l'XML sottostante del tuo documento Word. Word spesso inserisce markup di formattazione che può dividere le chiavi del tuo template, interrompendo il processo di sostituzione. Quando digiti $CUSTOMER_NAME$ in Word, potrebbe apparire correttamente sullo schermo, ma l'XML sottostante potrebbe avere questo aspetto.

 Italiano