web-dev-qa-db-fra.com

Visualisation PDF dans les formulaires Windows en utilisant C #

Est-il possible d'afficher les fichiers PDF dans un outil Winforms? J'ai vu des solutions telles que convertir le fichier pdf en images et les afficher dans un bloc d'image. Cependant, je demande si je peux voir le fichier en format PDF. Existe-t-il un outil Adobe ou Microsoft qui le supporte?

34
Majd

vous pouvez utiliser System.Diagnostics.Process.Start ainsi que Fonction WIN32 ShellExecute au moyen d'interop, pour ouvrir des fichiers PDF à l'aide du visualiseur par défaut:

System.Diagnostics.Process.Start("SOMEAPP.EXE","Path/SomeFile.Ext");

[System.Runtime.InteropServices.DllImport("Shell32. dll")]
private static extern long ShellExecute(Int32 hWnd, string lpOperation, 
                                    string lpFile, string lpParameters, 
                                        string lpDirectory, long nShowCmd);

Une autre approche consiste à placer un WebBrowser Control dans votre formulaire, puis à utiliser la méthode Navigate pour ouvrir le fichier PDF:

ThewebBrowserControl.Navigate(@"c:\the_file.pdf");
26
ArBR

je pense que le moyen le plus simple est d’utiliser le composant COM du lecteur Adobe PDF

  1. faites un clic droit sur votre boîte à outils et sélectionnez "Choisir les éléments"
  2. Sélectionnez l'onglet "Composants COM"
  3. Sélectionnez "Adobe PDF Reader" puis cliquez sur ok
  4. Faites glisser le contrôle de votre formulaire et modifiez la propriété "src" dans les fichiers PDF que vous souhaitez lire.

j'espère que ça aide

26
Saif al Harthi
8
Night Walker

Le contrôle du navigateur Web peut fonctionner. http://ryanfarley.com/blog/archive/2004/12/23/1330.aspx

Également un tas de projets pdf open source c # ici http://csharp-source.net/open-source/pdf-libraries

3
madmik3

http://www.youtube.com/watch?v=a59LvC6BOuk

Utilisez le lien ci-dessus

private void btnopen_Click(object sender, EventArgs e){
    OpenFileDialog openFileDialog1 = new OpenFileDialog();
    if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK){
        axAcroPDF1.src = openFileDialog1.FileName;
    }
}
0