Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2273 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Ajouter un pdf à un pdf avec SharpPDF

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ajouter un pdf à un pdf avec SharpPDF

n°2021622
manu f
L'art ephémère.
Posté le 07-09-2010 à 14:25:00  profilanswer
 

Bonjour,
 
J'ai un fichier pdf qui est stocké en base, ensuite j'ai un outil qui genere des factures PDF.
 
J'aurais besoin d'ajouter à la fin de ces factures le fichier pdf qui est dans ma base de données, avez vous une piste sur comment je peux faire ça ?
 
(Pour générer mes facture en pdf j'utilise SharpPDF)
 
Merci.


---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
mood
Publicité
Posté le 07-09-2010 à 14:25:00  profilanswer
 

n°2021722
TotalRecal​l
Posté le 07-09-2010 à 21:27:11  profilanswer
 

comprend pas. Genre tu as une version binaire d'un PDF dans ta base, tu as un PDF que tu génères à la volée par SharpPDF et tu souhaiterais insérer à la fin de celui-ci le contenu de ton autre PDF ?
 
Dans ce cas, tu peux l'ouvrir avec sharp pdf cet autre pdf ? et en importer le contenu à la fin de ton fichier en construction ?
 
Tu ne nous donnes aucune info sur ce que tu as déjà tenté, intuitivement si j'ai bien compris ton problème ce que je dis au dessus c'est la premiere chose qui vient à l'esprit en terme de principe...


---------------
Topic .Net - C# @ Prog
n°2021811
manu f
L'art ephémère.
Posté le 08-09-2010 à 11:45:30  profilanswer
 

J'ai un fichier pdf dans ma BDD qui est encodé dans un champ Text.
 
Dans mon application je génère des facture avec SharpPDF ce que je voudrais c'est ajouter le PDF qui est stocké dans ma BDD à la fin de mes facture générées.
 
Le problème c'est que je ne vois pas comment faire ça... tu l'ouvres comment le PDF avec SharpPDF, je ne vois rien là dessus dans la doc.


Message édité par manu f le 08-09-2010 à 11:46:29

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
n°2021917
manu f
L'art ephémère.
Posté le 08-09-2010 à 17:33:58  profilanswer
 

Le problème c'est que je vais mettre trop de temps pour tout recoder avec un autre framework.
 
Si quelqu'un à une solution je suis preneur.


---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
n°2021999
TotalRecal​l
Posté le 09-09-2010 à 09:58:01  profilanswer
 

Ouais, ça n'est pas élégant du tout mais techniquement tant que la génération du pdf initial et l'édition du second sont dissociées c'est parfaitement possible !
itextsharp permet l'ouverture et l'édition d'un pdf existant, on doit aussi pouvoir importer des segments d'un autre pdf.
http://kuujinbo.info/iTextInAction [...] =StampText (ça n'est qu'un exemple d'ouverture de fichier et d'écriture dedans, pas de ce que tu veux faire)


---------------
Topic .Net - C# @ Prog
n°2022002
TotalRecal​l
Posté le 09-09-2010 à 10:10:36  profilanswer
 

c'est parce qu'au lieu de blaguer ici tu devrais plutôt trouver des trucs pour faire remonter le topic en question, il est à l'abandon depuis 15j :na: :ange:


---------------
Topic .Net - C# @ Prog
n°2022018
TotalRecal​l
Posté le 09-09-2010 à 10:41:14  profilanswer
 

Genre :o
J'en avais bien un à proposer, je lance ça là bas. Et on arrête de polluer ici :d


---------------
Topic .Net - C# @ Prog
n°2022702
manu f
L'art ephémère.
Posté le 13-09-2010 à 17:18:26  profilanswer
 

J'envisage de lire et d'extraire le contenu de mon fichier pdf qui est stocker en base.  
Puis d'ajouter ce contenu (que j'aurais stocker dans un string) à la fin de chaque facture généré.
 
Voilà ce que j'ai écris :

Code :
  1. protected string readPDF(int id, bool doc)
  2.     {
  3. ...
  4.         string connectionstring = ConfigurationManager.ConnectionStrings["AppConnectionString"].ToString();
  5.         if (connectionstring == null)
  6.             throw (new ***WebArgumentException("La ConnexionString AppConnectionString n'est pas renseignée.";));
  7.         SqlConnection sconn = new SqlConnection(connectionstring);
  8.         SqlCommand sComm = new SqlCommand(req, sconn);
  9.         sComm.CommandType = CommandType.Text;
  10.         sComm.Parameters.Add("@id", SqlDbType.Int).Value = id.ToString();
  11.         sconn.Open();
  12.         sComm.ExecuteNonQuery();
  13.         string fichier = " ";
  14.         SqlDataReader sr = sComm.ExecuteReader();
  15.         if (sr.Read())
  16.         {
  17.             fichier = (string)sr["Fichier"];
  18.             fichier = ***WebTools.Base64Decode(fichier);
  19.         }
  20.         sr.Close();
  21.         sComm.Dispose();
  22.         sconn.Close();
  23.         return fichier;
  24.     }


L'appel de cette méthode : (qui fonctionne correctement)

Code :
  1. string contentPDF = readPDF(1, true);
  2.             myPage.addText(contentPDF, 10, currentY, myDoc.getFontReference("Helvetica";), 8, pdfColor.LightGray);


Le problème c'est que ça me balance un

Citation :

La référence d'objet n'est pas définie à une instance d'un objet


J'ai testé ma méthode en mettant en dur un return "test fichier" et à la fin de ma facture j'ai bien "test fichier".  
 
J'en conclue donc que le problème vient du contenu de ma variable fichier et pas de son appel.
 
Avez vous une idée afin de résoudre mon problème ?
 
Note :
Mon fichier PDF est encodé dans un champ TEXT dans une base SqlServer 2005


Message édité par manu f le 13-09-2010 à 17:20:18

---------------
Pire qu'une pierre dans la chaussure, est un grain de sable dans la capote.  Coluche.
n°2022790
olivthill
Posté le 14-09-2010 à 10:07:15  profilanswer
 

Désolé je ne connais pas SharpPDF, mais je connais la structure interne des fichiers PDF, et donc, pour infos, chaque fichier PDF a au moins une table d'index interne, et c'est à cause de cela qu'il est difficile de concaténer deux fichiers PDF, car il faut obligatoirement recréer l'index commun d'une manière ou d'une autre. Donc la solution est d'importer le PDF, mais en décomposant tous ses éléments, ce qui ne peut, peut-être, pas se faire avec SharpPDF, je ne sais pas, puis de recomposer un nouveau PDF. Si ce n'est pas possible avec SharpPDF, alors il faut utiliser d'autres outils.

n°2023666
moi23372
Posté le 19-09-2010 à 11:30:52  profilanswer
 

moi j'utilise iTextSharp pour concaténer des PDF. c'est gratuit et ça marche très bien.


---------------
quand un homme raisonne mal c'est qu'il n'a pas les données pour raisonner mieux (diderot)
mood
Publicité
Posté le 19-09-2010 à 11:30:52  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Ajouter un pdf à un pdf avec SharpPDF

 

Sujets relatifs
ajouter un path à include_path avec un 2eme php.iniAjouter du texte à un copié collé en JS ?
[RESOLU] [Plugin] Ajouter patch à un pluginAjouter des cases dans un tableau en javascript
CKEDITOR ajouter boutonajouter un champs de controle
Comment ajouter une balise après X affichage sqlajouter du styles css à un lien
[RESOLU] mysql_query("UPDATE ce met à jour mais remplace au lieu...Comment ajouter des infos à un index qui n'existe pas forcément ?
Plus de sujets relatifs à : Ajouter un pdf à un pdf avec SharpPDF


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR