Convertitore di documenti Aspose.Words per .NET

Aspose.Words Document Converter pour .NET est une API légère, de haute performance axée sur la conversion de format à format. Il soutient des scénarios communs tels que Word → PDF, HTML→PDF , DOCX ↔ ODT et DOCX → Markdown ; PDF → images (JPG/PNG/TIFF); et des dizaines d’autres – sans nécessiter Microsoft Office.

Installation et configuration

  • Installez le paquet NuGet Aspose.Words (Core API pour les conversions de puissance).
  • Appliquer une licence mesurée à la start-up pour éviter les limites d’évaluation: voir Licenza a consumo .
  • Examiner les exigences du cadre dans le Guide d’installation .

Des plateformes soutenues

  • OS : Windows, Linux et macOS
  • Frameworks : .NET Frames 4.x, .NET Standard 2.0, ,NET Core 2.0–3.1, .NET 5/6/7+, Mono
  • IDEs: Visual Studio 2017–2022, JetBrains Rider, MonoDevelop

Début rapide

1) Word → PDF (une ligne)

using Aspose.Words;
var doc = new Document("input.docx");
doc.Save("output.pdf");

2) HTML → PDF avec des options

using Aspose.Words;
using Aspose.Words.Saving;

var doc = new Document("input.html");
var pdf = new PdfSaveOptions
{
    Compliance = PdfCompliance.PdfA1b,    // archival
    EmbedFullFonts = false,               // reduce size
    OptimizationOptions = { ImageCompression = PdfImageCompression.Jpeg }
};
doc.Save("output.pdf", pdf);

Docx et Markdown

using Aspose.Words;
using Aspose.Words.Saving;

var doc = new Document("spec.docx");
var md = new MarkdownSaveOptions
{
    TableContentAlignment = MarkdownTableContentAlignment.Auto,
    ListExportMode = MarkdownListExportMode.PlainText
};
doc.Save("spec.md", md);

4) PDF → images (par page)

using Aspose.Words;
using Aspose.Words.Saving;

var pdfDoc = new Document("report.pdf");
var img = new ImageSaveOptions(SaveFormat.Png) { Resolution = 200 };
for (int page = 0; page < pdfDoc.PageCount; page++)
{
    img.PageSet = new PageSet(page);
    pdfDoc.Save($"report_page_{page + 1}.png", img);
}

5 – Stream (sur le Web et le Service)

using (var input = httpFile.OpenReadStream())
using (var output = new MemoryStream())
{
    var doc = new Aspose.Words.Document(input);   // auto-detects format
    doc.Save(output, SaveFormat.Pdf);
    output.Position = 0;
    return File(output.ToArray(), "application/pdf", "converted.pdf");
}

Caractéristiques et fonctionnalités

La couverture de format large

Entrée et sortie (selecté):

  • Famille de mots : DOC, DOCX, DOT, RTF, WordML (XML)
  • Layout fixe : PDF, OTT Formats / EPUB/)

Full matrix alignés avec les fonctionnalités Aspose.Words. Si un plugin **File Processor ** et ce Converter sont présents, vous pouvez d’abord charger/éditer et ensuite exporter dans le format souhaité.

Détection de format automatique

L’API détecte le format des titres de fichiers ou du contenu de courant , de sorte que vous pouvez accepter en toute sécurité les téléchargements arbitraires dans les services Web.

Fine-Tuning avec les options de sauvegarde

  • PDF: PDF/A‐1b/2u, cryptage, drapeaux d’autorisation, signatures numériques, intégration des lettres, compression de l’image.
  • HTML/MHTML: gestion des ressources (embed vs. extérieur), mode CSS, codage, format d’image et DPI.
  • Images: DPI, profondeur de couleur, compression, gamme de pages, multi-page TIFF.
  • Markdown: liste et styles de référence, alignement de table, génération de liens.

Layout de fidélité et métadonnées

Il maintient les fonctions, les styles, des tableaux, titres/footers, marques d’eau, commentaires, ruptures de section et propriétés de document (auteur, titre, champs personnalisés.

Traitement amical avec le serveur

  • Stream-first APIs, faibles allocations, buffer I/O.
  • Async/batch conversion et parallélisation pour la transmission.
  • Configurer la mémoire et les limites de traitement des pages pour les grands docs.

Diagnostic et résilience

Exceptions claires sur les entrées corrompues / non soutenues; le logage / la télémétrie pour capturer les durées, les comptes de pages et les raisons d’échec SLA Le tracking.

Recettes de conversion populaire

  • **DOCX → PDF/XPS ** pour la distribution et l’archivage (optionnellement PDF/A).
  • HTML → PDF pour les factures, les déclarations et les rapports avec une page cohérente.
  • DOCX ↔ ODT pour l’interopérabilité cross-suite.
  • DOCX → Markdown pour publier des documents technologiques.
  • PDF → PNG/JPEG/TIFF pour générer des prévisions ou des détails.
  • Word/HTML → EPUB pour les flux de travail e-book.

Conseil : Utilisez **PageSet ** pour exporter des pages ou des rangs spécifiques; combiner avec ImageSaveOptions en cas de prêt ou de thumbnails.

Migliori pratiche

  • Licence première : initialisez la licence mesurée avant toute conversion pour éviter les marques d’évaluation.
  • Preferez les flux dans les services pour échapper au disque I/O et réduire la latence.
  • Valider tôt : inspectez les bytes magiques ou essayez une charge sèche pour échouer rapidement.
  • **Produite de taille droite ** : Choisissez un DPI sensible, évitez d’incorporer chaque font sauf si nécessaire; Choisir PDF/A uniquement lorsque la conformité est requise.
  • Hygiene des ressources : enveloppement Document et les courants dans using Les blocs.
  • Concurrence : utilisation à court terme Document instances par demande ; employer des piscines pour les options si nécessaire.
  • Observabilité : numéros de page de journal, de durée et d’options; étiquette des échecs avec des identifiants de corrélation.

FAQ

**Vous avez besoin de Microsoft Office?**Il s’agit d’une API isolée.

**Puis-je convertir sans toucher le système de fichiers?**Oui, toutes les conversions peuvent être Stream → Stream.

**Comment puis-je mettre en œuvre PDF/A?**Sélection PdfSaveOptions.Compliance = PdfCompliance.PdfA1b (ou 2u) avant le sauvetage.

**Puis-je protéger les fichiers PDF?**Oui. Configurez les drapeaux de cryptage et d’autorisation dans PdfSaveOptions.

**Est-ce que Markdown round-trip est sûr?**Les tables, listes, titres, liens et formatage en ligne sont soutenus avec des options tunables.

**Comment puis-je convertir des pages spécifiques?**Utiliser PageSet dans ImageSaveOptions ou FixedPageSaveOptions‑Les classes dérivées.

 Français