Comment créer un PDF en utilisant C#
Nous cherchons toujours un moyen de générer des documents PDF et de travailler avec eux dans des projets C# de manière plus précise, exacte et efficace. Avoir des fonctions faciles à utiliser d’une bibliothèque nous permet de suivre davantage le travail, et moins sur les détails lourds de temps de la tentative de génération de PDFs, que ce soit en .NET.
Le code suivant fonctionne également avec la bibliothèque Aspose.PDF.Drawing.
Créer (ou Générer) un document PDF en utilisant le langage C#
Aspose.PDF pour .NET API vous permet de créer et lire des fichiers PDF en utilisant C# et VB.NET. L’API peut être utilisée dans une variété d’applications .NET incluant WinForms, ASP.NET, et plusieurs autres. Dans cet article, nous allons montrer comment utiliser Aspose.PDF pour .NET API pour générer et lire facilement des fichiers PDF dans des applications .NET.
Comment Créer un Fichier PDF Simple
Pour créer un fichier PDF en utilisant C#, les étapes suivantes peuvent être utilisées.
- Créer un objet de la classe Document
- Ajouter TextFragment à la collection Paragraphs de la page
- Enregistrer le document PDF résultant
// Chemin vers le répertoire des documents.
string dataDir = RunExamples.GetDataDir_AsposePdf_QuickStart();
// Initialiser l'objet document
Document document = new Document();
// Ajouter une page
Page page = document.Pages.Add();
// Ajouter du texte à la nouvelle page
page.Paragraphs.Add(new Aspose.Pdf.Text.TextFragment("Bonjour le monde!"));
// Enregistrer le PDF mis à jour
document.Save(dataDir + "HelloWorld_out.pdf");
Comment créer un document PDF consultable
Aspose.PDF pour .NET offre la possibilité de créer ainsi que de manipuler des documents PDF existants. Aspose.PDF pour .NET offre la possibilité de créer ainsi que de manipuler des documents PDF existants.
La logique spécifiée ci-dessous reconnaît le texte pour les images PDF. Pour la reconnaissance, vous pouvez utiliser des supports OCR externes respectant la norme HOCR. À des fins de test, nous avons utilisé un OCR Google tesseract gratuit. Par conséquent, vous devez d’abord installer Tesseract-OCR sur votre système, et vous disposerez de l’application console tesseract.
Voici le code complet pour réaliser cette exigence :
using System;
namespace Aspose.Pdf.Examples.Advanced.WorkingWithDocuments
{
class ExampleCreateDocument
{
private const string _dataDir = "C:\\Samples";
public static void CreateSearchableDocuments(string file)
{
Aspose.Pdf.Document doc = new Aspose.Pdf.Document(file);
bool convertResult = false;
try
{
convertResult = doc.Convert(CallBackGetHocr);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
doc.Save(file);
doc.Dispose();
}
static string CallBackGetHocr(System.Drawing.Image img)
{
string tmpFile = System.IO.Path.GetTempFileName();
try
{
System.Drawing.Bitmap bmp = new System.Drawing.Bitmap(img);
bmp.Save(tmpFile, System.Drawing.Imaging.ImageFormat.Bmp);
string inputFile = string.Concat('"', tmpFile, '"');
string outputFile = string.Concat('"', tmpFile, '"');
string arguments = string.Concat(inputFile, " ", outputFile, " -l eng hocr");
string tesseractProcessName = @"C:\Program Files\Tesseract-OCR\Tesseract.exe";
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo(tesseractProcessName, arguments)
{
UseShellExecute = true,
CreateNoWindow = true,
WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden,
WorkingDirectory = System.IO.Path.GetDirectoryName(tesseractProcessName)
};
System.Diagnostics.Process p = new System.Diagnostics.Process
{
StartInfo = psi
};
p.Start();
p.WaitForExit();
System.IO.StreamReader streamReader = new System.IO.StreamReader(tmpFile + ".hocr");
string text = streamReader.ReadToEnd();
streamReader.Close();
return text;
}
finally
{
if (System.IO.File.Exists(tmpFile))
System.IO.File.Delete(tmpFile);
if (System.IO.File.Exists(tmpFile + ".hocr"))
System.IO.File.Delete(tmpFile + ".hocr");
}
}
}
}