IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

fusionner deux pdf PDFSHARP


Sujet :

C#

  1. #1
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut fusionner deux pdf PDFSHARP
    Bonjour a tous,

    J'ai un petit souci quant à la concaténation de deux PDF que j'ai precedement créer sous word. Pour réaliser cette fusion, j'utilise la bibliothèque PDFSHARP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using PdfSharp.Pdf;
    using PdfSharp.Pdf.IO;
    using PdfSharp.Pdf.Advanced;
    using PdfSharp.Pdf.Security;
     
    namespace Test_PDFSHARP
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
     
                PdfDocument Source = PdfReader.Open("c:\\001 - TEST\\Doc1.pdf", PdfDocumentOpenMode.Import);
                PdfDocument Destination = PdfReader.Open("c:\\001 - TEST\\Doc2.pdf", PdfDocumentOpenMode.Import);
     
                foreach (PdfPage page in Source.Pages)
                    Destination.AddPage(page);
     
                Destination.Save("c:\\001 - TEST\\Report2.pdf");
                Console.WriteLine("Fin");
                Source.Close();
                Destination.Close();
            }
        }
    }
    J'obtiens ce message :

    'Test_PDFSHARP.vshost.exe' (Managé (v4.0.30319))*: 'C:\Users\dev\documents\visual studio 2010\Projects\Test_PDFSHARP\Test_PDFSHARP\bin\Debug\Test_PDFSHARP.exe' chargé, symboles chargés.
    'Test_PDFSHARP.vshost.exe' (Managé (v4.0.30319))*: 'C:\Users\dev\documents\visual studio 2010\Projects\Test_PDFSHARP\Test_PDFSHARP\bin\Debug\PdfSharp.dll' chargé, symboles chargés.
    'Test_PDFSHARP.vshost.exe' (Managé (v4.0.30319))*: 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' chargé, chargement des symboles ignoré. Le module est optimisé et l'option du débogueur 'Uniquement mon code' est activée.
    SampleMessage1: 'This is sample message 1 (2.0).'
    SampleMessage2: 'This is sample message 2: {0}.'
    NameMustStartWithSlash: 'A PDF name must start with a slash ('/').'
    UserOrOwnerPasswordRequired: 'At least a user or an owner password is required to encrypt the document.'
    UnexpectedToken: 'Token '{0}' was not expected.'
    UnknownEncryption: 'The PDF document is protected with an encryption not supported by PDFsharp.'
    Une exception de première chance de type 'System.InvalidOperationException' s'est produite dans PdfSharp.dll
    'Test_PDFSHARP.vshost.exe' (Managé (v4.0.30319))*: 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_fr_b77a5c561934e089\mscorlib.resources.dll' chargé
    Si quelqu'un a une petite idée, je suis preneur.

    Merci pour votre aide.


  2. #2
    Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Avril 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Avril 2009
    Messages : 38
    Points : 41
    Points
    41
    Par défaut
    Bonjour,

    Le problème vient du fait que tu ajoutes des pages à un document PDF qui est ouvert.

    Par défaut ce doit être readOnly sur un existant.

    Donc soit tu ouvres le 2eme PDF en Read/Write
    Soit tu créé un document de sortie qui contiendra tes deux PDF, ce qui me semble est la solution la plus propre.

    Voici comment faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     // Get some file names
      string[] files = new string[] {"c:\\001 - TEST\\Doc1.pdf", "c:\\001 - TEST\\Doc2.pdf"};
     
      // Open the output document
      PdfDocument outputDocument = new PdfDocument();
     
      // Show consecutive pages facing. Requires Acrobat 5 or higher.
      outputDocument.PageLayout = PdfPageLayout.TwoColumnLeft;
     
      // Iterate files
      foreach (string file in files)
      {
        // Open the document to import pages from it.
        PdfDocument inputDocument = PdfReader.Open(file, PdfDocumentOpenMode.Import);
     
        // Iterate pages
        int count = inputDocument.PageCount;
        for (int idx = 0; idx < count; idx++)
        {
          // Get the page from the external document...
          PdfPage page = inputDocument.Pages[idx];
          // ...and add them twice to the output document.
          outputDocument.AddPage(page);
          outputDocument.AddPage(page);
        }
      }
     
      // Save the document...
      string filename = "ConcatenatedDocument2.pdf";
      outputDocument.Save(filename);
      // ...and start a viewer.
      Process.Start(filename);
    Plus d'information sur ce lien: http://pdfsharp.com/PDFsharp/index.p...d=52&Itemid=60

    Cdt,
    Alkaza
    Si le post est utile, n'oubliez pas le
    Si les membres ont répondu à votre question n'oubliez pas de mettre en

  3. #3
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut
    Je viens de faire le test... et ça marche

    Mille fois merci pour votre aide.

    Codialement,
    LB

  4. #4
    Membre régulier
    Inscrit en
    Février 2003
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 171
    Points : 77
    Points
    77
    Par défaut
    Bonjour,

    Par contre, des qu'il y a des graphiques dans les pdf la concatenation ne fonctionne plus.

    Quelqu'un a une idée ?

Discussions similaires

  1. Reportlab: Fusionner deux PDF
    Par Jiyuu dans le forum Bibliothèques tierces
    Réponses: 3
    Dernier message: 22/09/2011, 21h55
  2. Fusionner deux tables
    Par rdjema dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/11/2005, 18h42
  3. [Debutant] [JTable] Fusionner deux cellules
    Par devil26 dans le forum Composants
    Réponses: 4
    Dernier message: 03/05/2005, 13h39
  4. [TreeMap] comparer et fusionner deux TreeMap
    Par LoLoSS dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 06/09/2004, 11h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo