Recherche sur le blog

jeudi 4 février 2016

[.NET] ITextSharp : IOException à l'ouverture

Si vous obtenez une exception d'E/S en tenant d'ouvrir un PDF, cela peut être dû à un problème de permissions, soit au niveau de la DLL de l'assemblage, soit au niveau du fichier que l'on souhaite charger.

Cela se produit en utilisant le code suivant :
PdfReader p = new PdfReader(CHEMIN);
Le message de l'exception levée indique : 
Exception Details: System.IO.IOException: 
 C:\Fichier.pdf not found as file or resource.
Cela peut être causé par :
  • Un problème au niveau de la propriété "copie locale" de la référence (voir la documentation MSDN en ligne : article # t1zz5y8c)
  • Un fichier considéré comme "bloqué" par Windows : effectuez un clic droit sur le fichier, option "Propriétés" puis choisissez "Débloquer".
  • Un problème de permissions sur le fichier. Celui-ci est peut-être stocké à un emplacement auquel l'application n'a pas accès.
On peut contourner le problème avec le code suivant.
PdfReader p = new PdfReader(
 System.IO.File.ReadAllBytes(CHEMIN)
 );
L'erreur disparait alors.

Bon développement !

Aucun commentaire: