Пример #1
0
        public List <ImageBinary> Export(Stream streamPDF, List <int> listPage)
        {
            try
            {
                GhostscriptVersionInfo _lastInstalledVersion = null;
                GhostscriptRasterizer  _rasterizer           = null;
                int desired_x_dpi = 300;
                int desired_y_dpi = 300;

                _lastInstalledVersion =
                    GhostscriptVersionInfo.GetLastInstalledVersion(
                        GhostscriptLicense.GPL | GhostscriptLicense.AFPL,
                        GhostscriptLicense.GPL);

                _rasterizer = new GhostscriptRasterizer();

                _rasterizer.Open(streamPDF, _lastInstalledVersion, true);

                List <ImageBinary> imgBi = new List <ImageBinary>();
                foreach (int pageNumber in listPage)
                {
                    Image img = _rasterizer.GetPage(desired_x_dpi, desired_y_dpi, pageNumber);
                    imgBi.Add(new ImageBinary {
                        page_no = pageNumber, img = imageToByteArray(img)
                    });
                }
                _rasterizer.Dispose();
                return(imgBi);
            }
            catch
            {
                return(new List <ImageBinary>());
            }
        }
Пример #2
0
        private void Export(string inputPDFFile, string outputImagesPath)
        {
            try
            {
                GhostscriptVersionInfo _lastInstalledVersion = null;
                GhostscriptRasterizer  _rasterizer           = null;
                int desired_x_dpi = 96;
                int desired_y_dpi = 96;

                _lastInstalledVersion =
                    GhostscriptVersionInfo.GetLastInstalledVersion(
                        GhostscriptLicense.GPL | GhostscriptLicense.AFPL,
                        GhostscriptLicense.GPL);

                _rasterizer = new GhostscriptRasterizer();

                _rasterizer.Open(inputPDFFile, _lastInstalledVersion, false);

                for (int pageNumber = 1; pageNumber <= _rasterizer.PageCount; pageNumber++)
                {
                    string pageFilePath = Path.Combine(outputImagesPath, "Page-" + pageNumber.ToString("00") + ".jpg");

                    Image img = _rasterizer.GetPage(desired_x_dpi, desired_y_dpi, pageNumber);
                    img.Save(pageFilePath, ImageFormat.Jpeg);
                }
                _rasterizer.Dispose();
            }
            catch
            {
            }
        }
Пример #3
0
 public void Dispose()
 {
     if (_rasterizer != null)
     {
         _rasterizer.Dispose();
     }
 }
 public void Dispose()
 {
     if (_ghostscriptRasterizer != null)
     {
         lock (_lock)
         {
             _ghostscriptRasterizer.Dispose();
         }
     }
 }
Пример #5
0
 public override void Close()
 {
     pdf.Dispose();
     isOpen = false;
 }
Пример #6
0
 protected virtual void Dispose(bool disposing)
 {
     _ghostscriptRasterizer.Dispose();
 }