Ghostscript.NET Changelog

What's new in Ghostscript.NET 1.1.9

Jul 30, 2014
  • fixed problem with the PDF invisible layers (the optional content groups which will be left unmarked if processtrailerattrs is not executed).
  • fixed text rasterization problem for some pdf's, it seems that the 'pdfopen begin' did not initialize everything required to render pdf properly so we replaced it with the 'runpdfopen' method which corrects everything (problem reported by "xatabhk").
  • changed GhostscriptRasterizer methods to support Stream insted of the MemoryStream.
  • fixed handling files without the extension in GhostscriptViewer and Rasterizer.

New in Ghostscript.NET 1.1.8 (May 8, 2014)

  • fixed incompatibility problem with 'gsapisetarg_encoding' function in Ghostscript releases prior to 9.10. (this function was introduced in 9.10 release)
  • fixed older versions incompatibility problem with '-dMaxBitmap=1g' switch bugfix which in some cases turns on text antialiasing for Ghostscript 9.14
  • added better initialization checking

New in Ghostscript.NET 1.1.7 (Apr 30, 2014)

  • implemented Ghostscript native library verification with a friendly error message that will clear out the confusion when used native Ghostscript library is not compatibile with the running process.
  • fixed the pipe client handle disposal bug when the GhostscriptPipedOutput is used.
  • fixed problem with the applying PDF page orientation for the GhostscriptViewer and the GhostscriptRasterizer.

New in Ghostscript.NET 1.1.6 (Apr 30, 2014)

  • simplified GetInstalledVersions and GetLastInstalledVersion functions
  • fixed problem with the CropBox in the GhostscriptViewer and GhostscripRasterizer (reported by "mahbuburrahman").
  • license changed to AGPL

New in Ghostscript.NET 1.1.5 (Mar 26, 2014)

  • fixed the default cropping to the BoundingBox problem for the EPS file format in the GhostscriptViewer and GhostscriptRasterizer (reported by "midora").
  • exposed GhostscriptViewer.EPSClip and GhostscriptRasterizer.EPSClip properties with a default value set to true (affects only EPS format).
  • fixed problem with the paths that contains diacritics (reported by "GambitRicky")
  • added GhostscriptProcessor.Started and GhostscriptProcessor.Completed events (requested by "Ray H.").
  • all methods that works with MemoryStream are changed to use a generic Stream type (suggested by "midora").

New in Ghostscript.NET 1.1.4 (Mar 26, 2014)

  • fixed problem with applying GraphicsAlphaBits and TextAlphaBits which improved antialiasing in GhostscriptViewer and GhostscriptRasterizer.
  • fixed problem with output through main stderr callback handler.
  • added support for MemoryStream in the GhostscriptPdfInfo.GetInkCoverage method.
  • added GraphicsAlphaBits and TextAlphaBits properties in GhostscriptViewer and GhostscriptRasterizer so antialiasing can now be changed from the outside...

New in Ghostscript.NET 1.1.3 (Feb 6, 2014)

  • added GhostscriptPdfInfo.GetInkCoverage function which has ability to return ink coverage for the CMYK inks, separately for each single page (for RGB colors, it does a silent conversion to CMYK color space internally). This function can be used to check if the pdf is grayscale or color.
  • fixed problem with opening MemoryStream EPS files which contains "EPS Preview Header" (reported by "Chanan Eli")
  • fixed problem with empty %%BoundingBox value when handling PostScript files (thanks to by "Shane_S")
  • fixed problem with rasterizing EPS files created with Adobe Illustrator (reported by "Chanan Eli")
  • fixed problem with retrieving exported function handle in DynamicNativeLibrary noticed on the Server 2012 R2 with large amount of memory (thanks to "antonyoni")
  • assembly is now signed with a strong name key (requested by "netmajor")

New in Ghostscript.NET 1.1.2 (Dec 14, 2013)

  • Fixed GhostscriptPipedOutput.Data property get accesor in order to prevent a race condition. (thanks to "Marc Klenotic").
  • Added GhostscriptPipedOutput class as part of the Ghostscript.NET library.
  • Fixed GhostscriptException error code text message resolving.
  • Implemented better methods parameters checking and exception handling.
  • Changed ImageMemoryHelper class from public to internal.
  • Implemented opening files represented as MemoryStream from GhostscriptRasterizer and GhostscriptViewer. (that was some users request although there is no point of passing PDF as MemoryStream (or byte array) as it will anyway end up on the disk before it will be interpreted as PDF language, unlike the PostScript language, inherently requires random access to the file).

New in Ghostscript.NET 1.1.1 (Oct 10, 2013)

  • fixed problem in GhostscriptRasterizer and GhostscriptViewer when MediaBox contains negative llx or lly values. (problem reported by "Prasenjit Das")
  • added GhostscriptPngDevice, a friendly output device class with all png devices related switches. (GhostscriptPngDevice supports: png16m, pngalpha, pnggray, png256, png16, pngmono, pngmonod)
  • added GhostscriptJpegDevice, a friendly output device class with all jpeg devices related switches. (GhostscriptJpegDevice supports: jpeg, jpeggray)
  • extended GhostscriptProcessor.StartProcessing method to support GhostscriptDevice base class as StartProcessing parameter
  • for each constructor / method that requires GhostscriptVersionInfo parameter, now there is one more constructor / method available with a same functionality but without a need to pass GhostscriptVersionInfo parameter. This new constructors and methods automatically retrieves and use last installed Ghostscript version
  • added new samples to the Ghostscript.NET.Samples project (AddWatermarkSample, ProcessorSample, DeviceUsageSample)

New in Ghostscript.NET 1.1.0 (Oct 7, 2013)

  • added GhostscriptViewer state handling (SaveState, RestoreState)
  • GhostscriptRasterizer constructor is extended in order to support usage of the existing GhostscriptViewer instance.
  • fixed problem while using a 32-bit assembly with 32-bit version of Ghostscript on 64-bit Windows: It couldn't find a registry key of installed Ghostscript. Reported and fixed by "r0land".

New in Ghostscript.NET 1.0.9 (Sep 30, 2013)

  • implemented EPS (Encapsulated PostScript) support for the GhostscriptViewer
  • added GhostscriptRasterizer class which provides ability to easily export PDF pages, PostScript pages and EPS files to the System.Drawing.Image object in the memory. For each page different x and y dpi settings can be set
  • fixed gsapi_stdin callback and it's value passing to the ghostscript library
  • added ProgressiveUpdate property to the GhostscriptViewer class so progressive update can be controlled outside the library

New in Ghostscript.NET 1.0.8 (Sep 23, 2013)

  • implemented StopProcessing method in the GhostscriptProcessor class which allows us to terminate gsapiinitwith_args call in the multithread environment.
  • fixed GhostscriptViewer ZoomIn and ZoomOut problem on the systems where windows region and language settings has number decimal symbol set to comma.
  • added page navigation and zoom checker properties to the GhostscriptViewer class.
  • fixed problem in GhostscriptViewer class when trying to view PostScript files without DSC header.
  • GhostscriptProcessor.Process method name changed to StartProcessing.

New in Ghostscript.NET 1.0.7 Beta (Sep 18, 2013)

  • implemented multi-page PostScript support for the GhostscriptViewer
  • included Microsoft.WinAny.Helper code files in order to have a single dll for the deployment
  • added Processing event to the GhostscriptProcessor class (with CurrentPage and TotalPages info)
  • added zoom-in and zoom-out functionality
  • fixed ImageMemoryHelper.Set24bppRgbImageColor function when stride size is not multiple of 3 bytes
  • fixed displayed page size
  • implemented progressive display update while ghostscript is drawing / rasterizing, now a custom update interval can be set in GhostscriptViewer class.
  • fixed problem when using 64-bit ghostscript library where raster (stride) line size is not equal to 32-bit ghostscript library raster line size.
  • changed GhostscriptViewer class event logic.
  • changed Ghostscript.NET.Viewer application in order to show progressive update.
  • modified Ghostscript.NET.DisplayTest, now it uses GhostscriptViewer class with ability to interpret postscript and display standard input output messages.

New in Ghostscript.NET 1.0.6 Beta (Sep 16, 2013)

  • added zoom-in and zoom-out functionality
  • fixed ImageMemoryHelper.Set24bppRgbImageColor function when stride size is not multiple of 3 bytes
  • fixed displayed page size

New in Ghostscript.NET 1.0.5 Beta (Sep 16, 2013)

  • implemented progressive display update while ghostscript is drawing / rasterizing, now a custom update interval can be set in GhostscriptViewer class
  • fixed problem when using 64-bit ghostscript library where raster (stride) line size is not equal to 32-bit ghostscript library raster line size
  • changed GhostscriptViewer class event logic
  • changed Ghostscript.NET.Viewer application in order to show progressive update
  • modified Ghostscript.NET.DisplayTest, now it uses GhostscriptViewer class with ability to interpret postscript and display standard input output messages

New in Ghostscript.NET 1.0.4 Beta (Aug 30, 2013)

  • Fixed display_device callback for 64-bit systems, now complete library is compatibile with both 32-bit and 64-bit version of Ghostscript interpreter
  • Added GhostscriptViewer Postscript file handler, now Ghostscript.NET.Viewer can render postscript files

New in Ghostscript.NET 1.0.3 Beta (Aug 28, 2013)

  • Fixed GhostscriptInterpreter.Run string limit, strings larger than 64 kb are now supported
  • Added GhostscriptViewer class which allows you to render and navigate through PDF file on the screen
  • Ghostscript.NET.Viewer project added to shows how simple GhostscriptViewer class implementation is

New in Ghostscript.NET 1.0.2 Beta (Aug 27, 2013)

  • Implemented gsapi set stdio and gsapi set display callback which provides ability to rasterize / render postscript or pdf directly to the screen without a need to save it to the disk first
  • Added sample postscript to screen project (Ghostscript.NET.DisplayTest)