Passer au contenu du pied de page
UTILISATION DE IRONPDF

VB .NET Afficher un PDF dans une PictureBox : Rendre des pages PDF sous forme d'images dans Windows Forms

Afficher des fichiers PDF dans un contrôle PictureBox

L'affichage de fichiers PDF directement dans un contrôle PictureBox n'est pas possible parce que PictureBox ne prend en charge que les formats d'image tels que BMP, PNG, TIF et JPG. La solution consiste à rendre les pages PDF sous forme d'images bitmap, puis à les afficher dans des applications Windows Forms.

Dans ce tutoriel, nous allons vous montrer comment convertir et afficher des documents PDF en utilisant les puissantes fonctionnalités de tramage d'IronPDF. Si vous avez besoin de références supplémentaires ou si vous avez des réponses à des questions non couvertes, permettez-moi de noter que vous pouvez généralement trouver plus d'informations dans les références officielles d'IronPDF documentation.

Commencez avec IronPDF maintenant.
green arrow pointer

Pourquoi PictureBox ne peut-elle pas afficher directement des fichiers PDF?

Le contrôle PictureBox dans les applications Windows Forms de Microsoft .NET Framework est conçu pour afficher uniquement des fichiers images. Lorsque les développeurs tentent de charger un document PDF dans une PictureBox, ils rencontrent des erreurs car le format PDF nécessite un rendu spécialisé. Certaines solutions consistent à utiliser Adobe Reader ou Adobe PDF Reader par l'intermédiaire de composants COM, mais cette approche crée des dépendances à l'égard de logiciels externes tels qu'Adobe Acrobat. Il existe souvent une autre façon de résoudre les limitations des programmes.

Une approche plus propre utilise IronPDF pour rendre chaque page PDF sous forme d'image bitmap. Cette méthode fonctionne dans n'importe quelle application .NET sans que les utilisateurs aient besoin de télécharger ou d'installer Adobe Acrobat sur leur ordinateur de bureau. Le processus convertit les pages PDF en formats d'image que PictureBox peut afficher en mode natif, en prenant en charge la sortie vers PNG, TIF et d'autres formats standard.

Comment configurer un projet Windows Form pour une visionneuse PDF?

Créez un nouveau projet d'application Windows Forms dans Visual Studio. Ajoutez un contrôle PictureBox de la boîte à outils au formulaire, ainsi que des boutons de navigation pour parcourir les pages. Installez IronPDF via le gestionnaire de paquets NuGet en recherchant "IronPDF" et en cliquant sur installer.

VB .NET Display PDF in PictureBox : Rendre les pages PDF sous forme d'images dans Windows Forms : Image 1 - Installer IronPDF

Ce SDK fournit toutes les méthodes nécessaires au chargement, au rendu et à la conversion des fichiers PDF en images.

L'exemple de code suivant montre la configuration de base d'un formulaire avec des contrôles pour l'affichage de PDF en VB NET dans la fonctionnalité PictureBox :

Imports IronPDF
Imports System.Drawing

Public Class PdfViewerForm
    Private currentPdf As PdfDocument
    Private currentPageIndex As Integer = 0
    Private pageImages() As IronSoftware.Drawing.AnyBitmap

    Private Sub PdfViewerForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Form initialization code
        PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
    End Sub
End Class
Imports IronPDF
Imports System.Drawing

Public Class PdfViewerForm
    Private currentPdf As PdfDocument
    Private currentPageIndex As Integer = 0
    Private pageImages() As IronSoftware.Drawing.AnyBitmap

    Private Sub PdfViewerForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        ' Form initialization code
        PictureBox1.SizeMode = PictureBoxSizeMode.Zoom
    End Sub
End Class
VB .NET

Exemple d'interface utilisateur de formulaire vierge

VB .NET Display PDF in PictureBox : Rendre les pages PDF sous forme d'images dans les formulaires Windows : Image 2 - Exemple de formulaire Windows vierge prêt à l'emploi

Ce code constitue la base du contrôle de la visionneuse PDF. L'objet PdfDocument contient le document PDF chargé, tandis que pageImages stocke les images bitmap rendues pour chaque page PDF. La propriété SizeMode permet la mise à l'échelle automatique du zoom lors de l'affichage des pages. Il s'agit d'une base essentielle pour l'ensemble du programme.

Comment charger et afficher des pages PDF dans une PictureBox?

Le chargement et l'affichage de documents PDF nécessitent la conversion de chaque page PDF en une image bitmap que PictureBox peut rendre. La méthode ToBitmap d'IronPDF gère efficacement ce processus de conversion, en prenant en charge différents formats d'image et paramètres de qualité.

Private Sub LoadPdfDocument(filePath As String)
    ' Load the PDF document from file path
    currentPdf = PdfDocument.FromFile(filePath)
    ' Convert all PDF pages to bitmap images
    pageImages = currentPdf.ToBitmap()
    ' Display the first page
    If pageImages IsNot Nothing AndAlso pageImages.Length > 0 Then
        DisplayPage(0)
    End If
End Sub

Private Sub DisplayPage(pageIndex As Integer)
    If pageImages IsNot Nothing AndAlso pageIndex < pageImages.Length Then
        ' Create new Bitmap from the rendered page
        Dim newBitmap As New Bitmap(pageImages(pageIndex).GetStream())
        PictureBox1.Image = newBitmap
        currentPageIndex = pageIndex
        lblPageNumber.Text = $"Page {pageIndex + 1} of {pageImages.Length}"
    End If
End Sub

Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
    Using openDialog As New OpenFileDialog()
        openDialog.Filter = "PDF Files|*.pdf"
        If openDialog.ShowDialog() = DialogResult.OK Then
            LoadPdfDocument(openDialog.FileName)
        End If
    End Using
End Sub
Private Sub LoadPdfDocument(filePath As String)
    ' Load the PDF document from file path
    currentPdf = PdfDocument.FromFile(filePath)
    ' Convert all PDF pages to bitmap images
    pageImages = currentPdf.ToBitmap()
    ' Display the first page
    If pageImages IsNot Nothing AndAlso pageImages.Length > 0 Then
        DisplayPage(0)
    End If
End Sub

Private Sub DisplayPage(pageIndex As Integer)
    If pageImages IsNot Nothing AndAlso pageIndex < pageImages.Length Then
        ' Create new Bitmap from the rendered page
        Dim newBitmap As New Bitmap(pageImages(pageIndex).GetStream())
        PictureBox1.Image = newBitmap
        currentPageIndex = pageIndex
        lblPageNumber.Text = $"Page {pageIndex + 1} of {pageImages.Length}"
    End If
End Sub

Private Sub btnOpen_Click(sender As Object, e As EventArgs) Handles btnOpen.Click
    Using openDialog As New OpenFileDialog()
        openDialog.Filter = "PDF Files|*.pdf"
        If openDialog.ShowDialog() = DialogResult.OK Then
            LoadPdfDocument(openDialog.FileName)
        End If
    End Using
End Sub
VB .NET

PDF affiché dans le formulaire

VB .NET Display PDF in PictureBox : Rendre les pages PDF sous forme d'images dans Windows Forms : Image 3 - Exemple de PDF d'entrée affiché dans notre visionneuse

La méthode LoadPdfDocument utilise PdfDocument.FromFile pour charger des fichiers PDF à partir d'un chemin spécifié, en utilisant le nom de fichier sélectionné par l'utilisateur. La méthode ToBitmap convertit ensuite toutes les pages en images bitmap en une seule opération. Chaque image bitmap peut être affectée directement à la propriété PictureBox's Image pour l'affichage. Cette approche gère les documents PDF multipages en stockant toutes les pages rendues dans un tableau. Vous pouvez également modifier l'apparence du formulaire en cliquant sur l'onglet approprié dans le concepteur de Visual Studio.

Comment naviguer entre les pages d'un PDF?

La mise en œuvre de la navigation par page permet aux utilisateurs de parcourir toutes les pages d'un document PDF. L'exemple de code suivant illustre la fonctionnalité des boutons précédent et suivant :

Private Sub btnPrevious_Click(sender As Object, e As EventArgs) Handles btnPrevious.Click
    If currentPageIndex > 0 Then
        DisplayPage(currentPageIndex - 1)
    End If
End Sub

Private Sub btnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click
    If pageImages IsNot Nothing AndAlso currentPageIndex < pageImages.Length - 1 Then
        DisplayPage(currentPageIndex + 1)
    End If
End Sub
Private Sub btnPrevious_Click(sender As Object, e As EventArgs) Handles btnPrevious.Click
    If currentPageIndex > 0 Then
        DisplayPage(currentPageIndex - 1)
    End If
End Sub

Private Sub btnNext_Click(sender As Object, e As EventArgs) Handles btnNext.Click
    If pageImages IsNot Nothing AndAlso currentPageIndex < pageImages.Length - 1 Then
        DisplayPage(currentPageIndex + 1)
    End If
End Sub
VB .NET

Sortie

VB .NET Display PDF in PictureBox : Rendre les pages PDF sous forme d'images dans Windows Forms : Image 4 - Naviguer vers la page 2 avec nos boutons

Ces gestionnaires d'événements vérifient les limites avant de naviguer pour éviter les erreurs. La vérification IsNot Nothing permet de s'assurer que le document PDF a été chargé avant de tenter la navigation. Ce modèle fonctionne bien pour la construction d'une visionneuse PDF complète avec prise en charge de l'affichage de plusieurs pages.

Comment ajouter des fonctionnalités pour enregistrer et imprimer des documents PDF ?

De nombreuses applications Windows Forms doivent imprimer des documents PDF ou enregistrer les pages rendues sous forme de fichiers image. IronPDF prend en charge ces deux opérations grâce à son API complète. L'utilisation de cette fonctionnalité ne compromet pas la sécurité du système et ne nécessite pas de calculs mathématiques complexes pour calculer les marges d'impression.

Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
    If currentPdf IsNot Nothing Then
        Dim printDialog As New PrintDialog()
        If printDialog.ShowDialog() = DialogResult.OK Then
            currentPdf.Print()
        End If
    End If
End Sub

Private Sub btnSaveImage_Click(sender As Object, e As EventArgs) Handles btnSave.Click
    If PictureBox1.Image IsNot Nothing Then
        Using saveDialog As New SaveFileDialog()
            saveDialog.Filter = "PNG Image|*.png|JPEG Image|*.jpg|TIF Image|*.tif"
            If saveDialog.ShowDialog() = DialogResult.OK Then
                PictureBox1.Image.Save(saveDialog.FileName)
            End If
        End Using
    End If
End Sub
Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click
    If currentPdf IsNot Nothing Then
        Dim printDialog As New PrintDialog()
        If printDialog.ShowDialog() = DialogResult.OK Then
            currentPdf.Print()
        End If
    End If
End Sub

Private Sub btnSaveImage_Click(sender As Object, e As EventArgs) Handles btnSave.Click
    If PictureBox1.Image IsNot Nothing Then
        Using saveDialog As New SaveFileDialog()
            saveDialog.Filter = "PNG Image|*.png|JPEG Image|*.jpg|TIF Image|*.tif"
            If saveDialog.ShowDialog() = DialogResult.OK Then
                PictureBox1.Image.Save(saveDialog.FileName)
            End If
        End Using
    End If
End Sub
VB .NET

Dialogue d'impression

VB .NET Display PDF in PictureBox : Rendre les pages PDF sous forme d'images dans Windows Forms : Image 5 - Exemple de fonctionnement du bouton d'impression

La fonctionnalité d'impression utilise la méthode intégrée Print d'IronPDF qui s'intègre à l'infrastructure d'impression de Microsoft Windows. La fonction d'enregistrement permet d'exporter la page en cours sous forme de fichier image dans le format choisi par l'utilisateur. Ces caractéristiques font que la visionneuse PDF est adaptée aux applications de gestion de documents.

Conclusion

La création d'une visionneuse de PDF dans les applications VB.NET Windows Forms devient simple grâce aux capacités de conversion d'images d'IronPDF. En rendant les pages PDF sous forme de bitmaps, les développeurs peuvent afficher des documents PDF dans des contrôles PictureBox standard sans dépendances externes. L'approche prend en charge la navigation dans les pages, le contrôle du zoom et la fonctionnalité d'impression pour des solutions complètes de visualisation de documents.

Commencez votre essai gratuit pour mettre en œuvre l'affichage PDF dans vos projets Windows Forms, ou achetez une licence pour un déploiement en production.

Questions Fréquemment Posées

Comment puis-je afficher un PDF dans une PictureBox Windows Forms en utilisant VB.NET ?

Vous pouvez afficher un PDF dans une PictureBox de Windows Forms en utilisant la méthode ToBitmap d'IronPDF, qui vous permet de rendre les pages PDF sous forme d'images.

Quelle méthode IronPDF propose-t-il pour le rendu de pages PDF en VB.NET ?

IronPDF propose la méthode ToBitmap pour rendre les pages PDF sous forme d'images, qui peuvent ensuite être affichées dans un contrôle PictureBox en VB.NET.

Est-il possible de naviguer dans les pages d'un PDF dans une PictureBox ?

Oui, vous pouvez naviguer dans les pages d'un PDF en utilisant les fonctions de navigation de page d'IronPDF, ce qui vous permet d'afficher différentes pages dans un contrôle PictureBox.

Quels sont les avantages de l'utilisation d'IronPDF pour l'affichage des PDF dans Windows Forms ?

IronPDF simplifie le processus d'affichage des PDF dans les formulaires Windows en convertissant les pages PDF en images, qui peuvent être facilement intégrées dans des contrôles tels que PictureBox. Il prend également en charge des fonctions telles que la navigation dans les pages.

IronPDF peut-il gérer des PDF multipages pour les afficher dans PictureBox ?

Oui, IronPdf peut traiter des PDF multipages. Vous pouvez utiliser ses méthodes pour sélectionner et rendre des pages spécifiques sous forme d'images à afficher dans une PictureBox.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite