Bibliothèque Ruby gratuite pour créer des documents Word à partir de HTML

API Ruby Open Source qui permet aux développeurs de créer des documents MS Word .docx en utilisant le format Office Open XML (OOXML) et d'ajouter des paragraphes de texte, des tables et des images dans les fichiers DOCX.

Qu'est-ce que OpenXml::Docx ?

Les documents Microsoft Word sont devenus la norme pour les communications professionnelles, les rapports et la documentation dans tous les secteurs. Bien que la création manuelle de documents fonctionne pour de petites tâches, l'automatisation de la génération de documents devient essentielle lorsqu'il s'agit de modèles, d'opérations en masse ou de contenu dynamique. C'est ici qu'intervient OpenXml::Docx – une bibliothèque Ruby qui permet aux développeurs de créer des documents Word professionnels de manière programmatique. La bibliothèque fonctionne partout où Ruby fonctionne, sans dépendances externes. Elle possède plusieurs fonctionnalités importantes, telles que la création de nouveaux documents Word, l'application de mise en forme et de styles de texte, la présentation de tables et de données, l'intégration d'images et de médias, etc.

OpenXml::Docx est un gem Ruby qui fournit une interface claire et intuitive pour générer des documents Word au format Open XML (l'extension .docx que nous connaissons tous). Contrairement aux solutions lourdes qui nécessitent l'installation de Microsoft Office, cette bibliothèque fonctionne de façon autonome, créant des documents à partir de zéro en utilisant du code Ruby pur. Elle suit la norme Office Open XML, garantissant la compatibilité avec Microsoft Word, Google Docs, LibreOffice et d'autres traitements de texte modernes. La bibliothèque mise sur la simplicité et la lisibilité, rendant la génération de documents accessible même aux développeurs qui ne connaissent pas la structure XML complexe sous-jacente aux documents Word. Au lieu de lutter contre les espaces de noms et les schémas XML, vous pouvez écrire du code Ruby simple, naturel et maintenable.

Previous Next

Premiers pas avec OpenXml::Docx

La méthode recommandée pour installer OpenXml::Docx est d'utiliser RubyGems. Veuillez utiliser la commande suivante pour une installation facile.

Installer OpenXml::Docx via RubyGems

 gem install openxml-docx
You can also download it directly from GitHub.

Créer votre premier document DOCX

OpenXml::Docx, projet open source, inclut un support complet pour créer et gérer de nouveaux documents Word au sein d'applications Java. L'élément de base d'un document Word est le paragraphe. En quelques lignes de code, les développeurs peuvent ajouter du texte et des images dans les documents Word. Voici un exemple simple montrant comment les développeurs peuvent accéder au corps du document, ajouter un paragraphe contenant du texte, appliquer du formatage et enregistrer le fichier.

Comment créer un document Word et ajouter un paragraphe avec du texte via l'API Java ?

require 'openxml/docx'

# Create a new document package
package = OpenXml::Docx::Package.new

# Access the main document
doc = package.document

# Add a paragraph with text
paragraph = doc.add_paragraph
run = paragraph.add_run
run.text = "Welcome to OpenXml::Docx"
run.bold = true
run.font_size = 24

# Save the document
package.save('welcome.docx')

Mise en forme avancée du texte via Java

La bibliothèque open source OpenXml::Docx offre un support complet pour la mise en forme de texte basique ainsi qu’avancée dans les documents Word. Au-delà du gras et de l'italique simples, la bibliothèque supporte une mise en forme sophistiquée. L'exemple de code Java suivant montre des soulignements, des barrés, des surlignages et des combinaisons de plusieurs effets. La propriété couleur accepte des valeurs hexadécimales, permettant une correspondance précise avec les directives de la marque.

Comment appliquer la mise en forme du texte aux documents Word via l'API Java ?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Demonstrate various text effects
para1 = doc.add_paragraph
run1 = para1.add_run
run1.text = "This text is underlined"
run1.underline = :single

para2 = doc.add_paragraph
run2 = para2.add_run
run2.text = "This text has a strikethrough"
run2.strike = true

para3 = doc.add_paragraph
run3 = para3.add_run
run3.text = "This text is highlighted"
run3.highlight = "yellow"

para4 = doc.add_paragraph
run4 = para4.add_run
run4.text = "This combines multiple effects"
run4.bold = true
run4.italic = true
run4.color = "FF0000"
run4.font_size = 16

package.save('formatted_text.docx')

Création de tables pour les données dans les fichiers Word via Java

Les tables sont essentielles pour présenter des informations structurées. La bibliothèque OpenXml::Docx facilite la création de tables dans les documents Word afin de gérer les données correctement au sein d'applications Java. Voici un exemple pratique qui crée une table de ventes professionnelle avec une ligne d'en-tête en gras et trois lignes de données. Le code montre comment accéder à des cellules spécifiques et les remplir avec du contenu. Vous pouvez parcourir des structures de données et remplir les tables dynamiquement, ce qui est idéal pour la génération de rapports.

Comment créer une table avec des lignes et des colonnes dans les applications Java ?

require 'openxml/docx'

package = OpenXml::Docx::Package.new
doc = package.document

# Add a heading
heading = doc.add_paragraph
heading_run = heading.add_run
heading_run.text = "Sales Summary"
heading_run.bold = true
heading_run.font_size = 18

# Create a table with 3 columns and 4 rows
table = doc.add_table(rows: 4, cols: 3)

# Header row
table.rows[0].cells[0].add_paragraph.add_run.text = "Product"
table.rows[0].cells[1].add_paragraph.add_run.text = "Units Sold"
table.rows[0].cells[2].add_paragraph.add_run.text = "Revenue"

# Make header row bold
table.rows[0].cells.each do |cell|
  cell.paragraphs[0].runs[0].bold = true
end

# Data rows
products = [
  ["Widget A", "1,250", "$25,000"],
  ["Widget B", "890", "$17,800"],
  ["Widget C", "2,100", "$42,000"]
]

products.each_with_index do |product, index|
  row = table.rows[index + 1]
  product.each_with_index do |value, col_index|
    row.cells[col_index].add_paragraph.add_run.text = value
  end
end

package.save('sales_summary.docx')

Génération automatisée de rapports et de factures

Les entreprises peuvent utiliser la bibliothèque OpenXml::Docx pour générer automatiquement des rapports mensuels, des états financiers ou des résumés analytiques. En extrayant les données des bases de données et en les formatant dans des documents professionnels, les organisations économisent d'innombrables heures de travail manuel. De plus, les plateformes e‑commerce et les entreprises de services peuvent générer dynamiquement des factures et des contrats. Les informations client, les lignes d'articles et les conditions peuvent être remplis à partir des bases de données, assurant précision et cohérence dans tous les documents.

 Français