Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] Conversion pdf en png avec Ghostscript

Echec de conversion :

    29 mai 2020 à 17:54:59

    Bonjour à tous,

    Dans une application web, j'essaie de convertir un pdf en png en utilisant le logiciel ghostscript.

    Le code est le suivant :

    using Ghostscript;
    using Ghostscript.NET;

     […]

    public void pdfImageConversion(String FileName, String PdfFolderPath)
    	{
    		String fileNameWithoutExtension = System.IO.Path.GetFileNameWithoutExtension(FileName);
    		String ImgFolderPath = PdfFolderPath + "\\output\\" + fileNameWithoutExtension + ".png";
    		Label1.Text = "output : " + ImgFolderPath;
    		var info = new System.IO.FileInfo(ImgFolderPath);
    		if (info.Exists.Equals(false))
    		{
    			GhostscriptPngDevice img = new GhostscriptPngDevice(GhostscriptPngDeviceType.Png16);
    	
    			img.InputFiles.Add(PdfFolderPath);
    			img.Pdf.FirstPage = 1;
    			img.Pdf.LastPage = 1;
    			img.PostScript = string.Empty;
    			img.OutputPath = ImgFolderPath;
    			img.Process();
    		}
    	}

    J'obtient le message d'erreur suivant :

    An error occured when call to 'gsapi_init_with_args' is made: -100

    Erreur source :

    Ligne 147 : img.PostScript = string.Empty;
    Ligne 148 : img.OutputPath = ImgFolderPath;
    Ligne 149 : img.Process();
    Ligne 150 : }
    Ligne 151 : }

    Trace de la pile :


    [GhostscriptAPICallException: An error occured when call to 'gsapi_init_with_args' is made: -100]
       Ghostscript.NET.Processor.GhostscriptProcessor.StartProcessing(String[] args, GhostscriptStdIO stdIO_callback) +713
       Ghostscript.NET.GhostscriptDevice.Process(GhostscriptVersionInfo ghostscriptVersion, Boolean fromMemory, GhostscriptStdIO stdIO_callback) +83
       Ghostscript.NET.GhostscriptDevice.Process() +32
       affichageDocument.pdfImageConversion(String FileName, String PdfFolderPath)



    La version de ghostscript installée sur le serveur est 9.52 pour du Windows 32 bits. 

    Je vous remercie d'avance.



    -
    Edité par ValentinBion 29 mai 2020 à 17:58:16

    • Partager sur Facebook
    • Partager sur Twitter
      29 mai 2020 à 18:04:59

      Bonjour,

      Voici un site qui explique (en anglais) comment convertir un pdf en png mais pas avec ton gost...

      https://www.syncfusion.com/kb/9112/how-to-convert-pdf-to-png

      • Partager sur Facebook
      • Partager sur Twitter

      Si vous aimez mes conseilles allez sur mon site : https://keepkonect.tk et bénéficier d'un cloud avec espace mémoire illimité

        29 mai 2020 à 18:35:58

        Le problème est qu'il implique d'installer une bibliothèque payante et chère.

        J'aimerais savoir s'il y a d'autres alternatives gratuites.

        Je vous remercie d'avance

        • Partager sur Facebook
        • Partager sur Twitter
          1 juin 2020 à 8:27:30

          Bonjour,

          Je n'avais pas vu je suis désoler sinon ce lien -> https://stackoverflow.com/questions/23905169/how-to-convert-pdf-files-to-image

          public class TiffImage
          {
              private string myPath;
              private Guid myGuid;
              private FrameDimension myDimension;
              public ArrayList myImages = new ArrayList();
              private int myPageCount;
              private Bitmap myBMP;
          
              public TiffImage(string path)
              {
                  MemoryStream ms;
                  Image myImage;
          
                  myPath = path;
                  FileStream fs = new FileStream(myPath, FileMode.Open);
                  myImage = Image.FromStream(fs);
                  myGuid = myImage.FrameDimensionsList[0];
                  myDimension = new FrameDimension(myGuid);
                  myPageCount = myImage.GetFrameCount(myDimension);
                  for (int i = 0; i < myPageCount; i++)
                  {
                      ms = new MemoryStream();
                      myImage.SelectActiveFrame(myDimension, i);
                      myImage.Save(ms, ImageFormat.Bmp);
                      myBMP = new Bitmap(ms);
                      myImages.Add(myBMP);
                      ms.Close();
                  }
                  fs.Close();
              }
          }

          et l'utilisation :

          TiffImage myTiff = new TiffImage("D:\\Some.tif");
          //imageBox is a PictureBox control, and the [] operators pass back
          //the Bitmap stored at that position in the myImages ArrayList in the TiffImage
          this.pictureBox1.Image = (Bitmap)myTiff.myImages[0];
          this.pictureBox2.Image = (Bitmap)myTiff.myImages[1];
          this.pictureBox3.Image = (Bitmap)myTiff.myImages[2];

          sinon cherche sur google "convert pdf to png c#" ->https://www.google.com/search?q=convert+pdf+to+png+c%23&oq=convert+pdf+to+png&aqs=chrome.0.69i59j69i57j0l5j69i60.6077j0j1&sourceid=chrome&ie=UTF-8

          et pour convertir 

          bmp.Save((Bitmap)myTiff.myImages[0], ImageFormat.Jpeg); 


          Ou une truc du genre je sais pas j'ai pas essayer mais si ta besoin je peux essayer 

          Question pour moi ça sert à quoi de convertir un pdf en image?

          -
          Edité par Konect Team 1 juin 2020 à 8:32:58

          • Partager sur Facebook
          • Partager sur Twitter

          Si vous aimez mes conseilles allez sur mon site : https://keepkonect.tk et bénéficier d'un cloud avec espace mémoire illimité

            2 juin 2020 à 15:06:43

            Bonjour, 

            Mon programme consiste à afficher dans une page web un fichier en pdf sans que l'on ne puisse faire un clic droit pour l'imprimer ou le télécharger. J'ai essayé d'utiliser une iframe comme suit :

              <iframe  id="viewDocControl"  runat="server" sandbox="" oncontextmenu="return false;" style="pointer-events:none;" src="x.pdf" ></iframe>
                       

            On peut toujours effectuer un clique droit et l'enregistrer.

            Je n'ai pas trouvé d'autres solutions pour afficher un pdf sans le télécharger.

            C'est la raison pour laquelle je cherche à convertir un pdf en image.



            • Partager sur Facebook
            • Partager sur Twitter
              2 juin 2020 à 18:46:53

              Bonjour,

              C'est impossible d'empecher le téléchargement d'un pdf de le convertir en image et mettre du texte pour empecher le vol c'est ça?

              https://pdfcandy.com/fr/pdf-to-bmp.html#:~:text=Comment%20convertir%20un%20PDF%20en,le%20bouton%20%C2%AB%20Convertir%20PDF%20%C2%BB.

              Mais je pense que tu veux le faire de façon automatique donc regard au-dessu

              • Partager sur Facebook
              • Partager sur Twitter

              Si vous aimez mes conseilles allez sur mon site : https://keepkonect.tk et bénéficier d'un cloud avec espace mémoire illimité

                5 juin 2020 à 15:30:21

                Tu veux absolument passer par Gostscript ?
                • Partager sur Facebook
                • Partager sur Twitter

                Si vous aimez mes conseilles allez sur mon site : https://keepkonect.tk et bénéficier d'un cloud avec espace mémoire illimité

                [C#] Conversion pdf en png avec Ghostscript

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown