Convertir EPUB en PDF en C#

EPUB est un format de fichier de livre électronique qui fournit un format de publication numérique standard. Il a été créé par l’International Digital Publishing Forum ( IDPF) et est désormais pris en charge par de nombreux lecteurs électroniques et applications logicielles. La conversion d’EPUB en PDF est souvent nécessaire pour tirer parti du format PDF. Le format de fichier PDF peut contenir des informations telles que du texte, des images, des liens hypertextes, des champs de formulaire, des médias enrichis, des métadonnées, etc. Les fichiers PDF peuvent être ouverts avec Adobe Acrobat Reader/Writer et la plupart des navigateurs modernes tels que Chrome, Safari, Firefox. Ils sont optimisés pour l’impression et sont idéaux pour créer des copies physiques de vos documents ; vous pouvez également configurer les paramètres de sécurité pour les PDF.

Dans cet article, vous trouverez des informations sur la conversion de EPUB en PDF et sur l’utilisation des paramètres PdfSaveOptions et ICreateStreamProvider.

Convertisseur EPUB en ligne

Vous pouvez vérifier la fonctionnalité de l’API Aspose.HTML for .NET et convertir des EPUB en temps réel. Veuillez charger un fichier EPUB à partir du système de fichiers local, sélectionnez le format de sortie et exécutez l’exemple. Dans l’exemple, les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat sous la forme d’un fichier séparé.

                
            

Si vous souhaitez convertir des EPUB en PDF par programme, veuillez consulter les exemples de code C# suivants.

De l’EPUB au PDF en deux lignes de code

Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir un fichier EPUB dans différents formats. Vous pouvez convertir EPUB en PDF dans votre application C# en deux lignes de code !

1// Convert EPUB to PDF using C#
2
3// Open an existing EPUB file for reading
4using FileStream stream = File.OpenRead(DataDir + "input.epub");
5
6// Invoke the ConvertEPUB() method to convert EPUB to PDF
7Converter.ConvertEPUB(stream, new PdfSaveOptions(), Path.Combine(OutputDir, "convert-by-two-lines.pdf"));

Convertir EPUB en PDF

Pour convertir un EPUB en PDF, vous devez suivre quelques étapes :

  1. Ouvrir un fichier EPUB existant. Dans l’exemple, nous utilisons la méthode OpenRead() de la classe System.IO.FileStream pour ouvrir et lire un fichier EPUB à partir du système de fichiers au chemin spécifié.
  2. Créer une instance de PdfSaveOptions.
  3. Utilisez la méthode ConvertEPUB() de la classe Converter pour enregistrer un EPUB en tant que fichier PDF. Vous devez transmettre le flux du fichier EPUB, les options PdfSaveOptions et le chemin du fichier de sortie à la méthode ConvertEPUB() pour convertir l’EPUB en PDF.

L’extrait de code C# suivant montre comment convertir un EPUB en PDF à l’aide d’Aspose.HTML for .NET :

 1// Convert EPUB to PDF using C#
 2
 3// Open an existing EPUB file for reading
 4using FileStream stream = File.OpenRead(DataDir + "input.epub");
 5
 6// Prepare a path to save the converted file 
 7string savePath = Path.Combine(OutputDir, "input-output.pdf");
 8
 9// Create an instance of the PdfSaveOptions class
10PdfSaveOptions options = new PdfSaveOptions();
11
12// Call the ConvertEPUB() method to convert EPUB to PDF
13Converter.ConvertEPUB(stream, options, savePath);

Options d’enregistrement – Classe PdfSaveOptions

Avec Aspose.HTML for .NET, vous pouvez convertir EPUB au format PDF de manière programmatique en contrôlant totalement un large éventail de paramètres de conversion. l’utilisation de PdfSaveOptions vous permet d’ajuster le processus de rendu ; vous pouvez spécifier la page size, les margins, les permissions de fichier, le CSS media-type, etc.

PropertyDescription
JpegQualitySpecifies the quality of JPEG compression for images. The default value is 95.
CssGets a CssOptions object which is used for configuration of CSS properties processing.
DocumentInfoThis property contains information about the output PDF document.
BackgroundColorThis property sets the color that will fill the background of every page. By default, this property is Transparent.
PageSetupThis property gets a page setup object and uses it for configuration output page-set.
HorizontalResolutionSets horizontal resolution for output images in pixels per inch. The default value is 300 dpi.
VerticalResolutionSets vertical resolution for output images in pixels per inch. The default value is 300 dpi.
EncryptionThis property gets or sets encryption details. If it is not set, then no encryption will be performed.

Pour en savoir plus sur PdfSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.

Conversion d’EPUB en PDF à l’aide de PdfSaveOptions

Aspose.HTML permet de convertir des EPUB en PDF en utilisant des options d’enregistrement par défaut ou personnalisées. Vous devez suivre quelques étapes :

  1. Ouvrir un fichier EPUB existant.
  2. Créez un nouvel objet PdfSaveOptions et spécifiez les options d’enregistrement requises.
  3. Utilisez la méthode ConvertEPUB() pour enregistrer un EPUB en tant que fichier PDF. Vous devez transmettre le flux du fichier EPUB, les options PdfSaveOptions et le chemin du fichier de sortie à la méthode ConvertEPUB () pour la conversion de l’EPUB en PDF.

L’exemple suivant montre comment utiliser PdfSaveOptions et créer un fichier PDF avec des options d’enregistrement personnalisées :

 1// Convert EPUB to PDF in C# with custom settings
 2
 3// Open an existing EPUB file for reading
 4using FileStream stream = File.OpenRead(DataDir + "input.epub");
 5
 6// Prepare a path to save the converted file 
 7string savePath = Path.Combine(OutputDir, "input-options.pdf");
 8
 9// Create an instance of PdfSaveOptions. Set up the page-size and change the background color to AliceBlue 
10PdfSaveOptions options = new PdfSaveOptions()
11{
12    PageSetup =
13        {
14            AnyPage = new Page()
15            {
16                Size = new Aspose.Html.Drawing.Size(Length.FromPixels(1000), Length.FromPixels(1000))
17            }
18        },
19    BackgroundColor = System.Drawing.Color.AliceBlue
20};
21
22// Call the ConvertEPUB() method to convert EPUB to PDF
23Converter.ConvertEPUB(stream, options, savePath);

Dans l’exemple, nous utilisons la méthode OpenRead() de la classe System.IO.FileStream pour ouvrir et lire les fichiers sources à partir du système de fichiers au chemin spécifié. Le constructeur PdfSaveOptions() initialise une instance de la classe PdfSaveOptions qui est transmise à la méthode ConvertEPUB(). La méthode ConvertEPUB() prend le stream, les options, le chemin du fichier de sortie savePath et effectue l’opération de conversion. La classe PdfSaveOptions fournit de nombreuses propriétés qui vous donnent un contrôle total sur un large éventail de paramètres et améliorent le processus de conversion EPUB vers PDF.

Dans l’exemple ci-dessus, nous utilisons :

Aspose.HTML for .NET fournit différents types de formats de sortie pour les opérations de rendu. Certains de ces formats produisent un seul fichier de sortie (par exemple PDF, XPS), d’autres créent plusieurs fichiers (formats d’image JPG, PNG, etc.)

Fournisseurs de flux de sortie

S’il est nécessaire d’enregistrer des fichiers dans un espace de stockage distant (par exemple, un nuage, une base de données, etc.), vous pouvez mettre en œuvre l’interface ICreateStreamProvider afin de contrôler manuellement le processus de création de fichiers. Cette interface est conçue comme un objet de rappel pour créer un flux au début du document/de la page (en fonction du format de sortie) et libérer le flux créé au début après le rendu du document/de la page.

L’exemple ci-dessous montre comment mettre en œuvre et utiliser votre propre MemoryStreamProvider dans l’application :

 1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
 2
 3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
 4{
 5    // List of MemoryStream objects created during the document rendering
 6    public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
 7
 8    public Stream GetStream(string name, string extension)
 9    {
10        // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11        MemoryStream result = new MemoryStream();
12        Streams.Add(result);
13        return result;
14    }
15
16    public Stream GetStream(string name, string extension, int page)
17    {
18        // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19        MemoryStream result = new MemoryStream();
20        Streams.Add(result);
21        return result;
22    }
23
24    public void ReleaseStream(Stream stream)
25    {
26        // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27    }
28
29    public void Dispose()
30    {
31        // Releasing resources
32        foreach (MemoryStream stream in Streams)
33            stream.Dispose();
34    }
35}

L’extrait de code suivant montre comment convertir un fichier EPUB en fichier PDF à l’aide d’un flux de mémoire.

 1// Convert EPUB to PDF in C# using memory stream
 2
 3// Create an instance of MemoryStreamProvider
 4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
 5
 6// Open an existing EPUB file for reading
 7using FileStream stream = File.OpenRead(DataDir + "input.epub");
 8
 9// Prepare a path to save the converted file 
10string savePath = Path.Combine(OutputDir, "stream-provider.pdf");
11
12// Convert EPUB to PDF by using the MemoryStreamProvider class
13Converter.ConvertEPUB(stream, new PdfSaveOptions(), streamProvider);
14
15// Get access to the memory stream that contains the result data
16MemoryStream memory = streamProvider.Streams.First();
17memory.Seek(0, SeekOrigin.Begin);
18
19// Flush the result data to the output file
20using (FileStream fs = File.Create(savePath))
21{
22    memory.CopyTo(fs);
23}

La méthode ConvertEPUB(Stream, PdfSaveOptions, ICreateStreamProvider) prend la source de conversion, les options, l’instance de MemoryStreamProvider, qui sera utilisée pour obtenir un flux de sortie, et effectue l’opération de conversion.

Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.

Téléchargez la bibliothèque Aspose.HTML for .NET, qui vous permet de convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.

Aspose.HTML propose un Convertisseur EPUB en PDF en ligne gratuit qui convertit les EPUB en PDF avec une grande qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir des résultats en quelques secondes !

Texte “Convertisseur EPUB en PDF”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.