-
Notifications
You must be signed in to change notification settings - Fork 158
/
VERSION-HISTORY
256 lines (230 loc) · 13 KB
/
VERSION-HISTORY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
//
// version-history
//
// This file is part of Ghostscript.NET library
// Author: Josip Habjan ([email protected], http://www.linkedin.com/in/habjan)
//
// Development files: https://github.com/jhabjan/Ghostscript.NET
//
// License: Affero General Public License (AGPL) http://www.gnu.org/licenses/agpl.html
//
// Copyright (c) 2013-2021 by Josip Habjan
HISTORY of the Ghostscript.NET library
1.2.3. 2021-03-09
-------------------------
- fixed GhostscriptRasterizer/GhostscriptViewer and Ghostscript v.9.50+ compatibility issues.
1.2.2. 2021-02-04
-------------------------
- fixed Ghostscript 9.26 + (all later versions) compatibility.
- fixed problem when opening path/file that contains non ASCII characters.
- fixed "Arithmetic operation resulted in an overflow" when using multithread instance.
- changed Y and Y DPI settings to match GhostscriptViewer.
- fixed CurrentPage -> TotalPages logging.
- fixed watermark transparency bug for PDF.
1.2.1. 2016-12-30
-------------------------
- fixed offset error in StdIn buffering.
- fixed problem with keeping whitespace return from the StdIn callbacks.
- fixed problem with GhostscriptProcessor and current page handling event.
- fixed problem with PDF signature/marker not beeing within first 32 bytes.
- fixed problem with System.ArgumentOutOfRangeException when StdOut message does not
occur at beginning of the line.
- fixed problem with Amazon.Runtime.Internal.Util.HashStream.Position throw
NotSupportedException.
- added ability to allow keeping native ghostscript instance within
GhostscriptProcessor instance and reuse it avoiding multiple library load/free especially
when loaded from memory.
- GhostscriptRasterizer - added a constructor to allow capture of IO using GhostscriptStdIO
(Rasterizer samples updated with example of using GhostscriptStdIO)
- GhostscriptViewer - added GridFitTT=0 to improve text quality.
- GhostscriptViewer - added public setter for DPI settings in viewer.
- GhostscriptViewre - change zoom method to public.
- GhostscriptViewer - set test to false by default in Zoom method.
- GhostscriptViewer - changed ShowAfterOpen to public to set parameters without having
to generate a pdf
1.2.0. 2015-02-05
-------------------------
- fixed problem with checking for pdf file header signature in pdf files that has
extra bytes at the beginning of the file before the actual signature.
- fixed problem with the page rasterized to Image object which is kept in memory
being disposed after the GhostscriptRasterizer is closed.
- added ability to set custom switches for GhostscriptRasterizer and GhostscriptViewer.
- added more usage examples.
1.1.9. 2014-07-30
-------------------------
- fixed problem with the PDF invisible layers (the optional content groups which will
be left unmarked if process_trailer_attrs 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.
1.1.8. 2014-05-08
-------------------------
- fixed incompatibility problem with 'gsapi_set_arg_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
1.1.7. 2014-04-29
-------------------------
- 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.
1.1.6. 2014-04-23
-------------------------
- simplified GetInstalledVersions and GetLastInstalledVersion functions
- fixed problem with the CropBox in the GhostscriptViewer and GhostscripRasterizer.
(reported by "mahbuburrahman"")
- license changed to AGPL
1.1.5. 2014-03-20
-------------------------
- 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")
1.1.4. 2014-02-14
-------------------------
- 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 outside.
1.1.3. 2014-02-05
-------------------------
- 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")
1.1.2. 2013-12-13
-------------------------
- 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).
1.1.1. 2013-10-09
-------------------------
- fixed problem in the 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).
1.1.0. 2013-10-07
-------------------------
- 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.
(problem reported and fixed by "r0land".
1.0.9. 2013-09-27
-------------------------
- 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.
1.0.8. 2013-09-20
-------------------------
- GhostscriptProcessor.Process method name changed to StartProcessing.
- implemented StopProcessing method in the GhostscriptProcessor class which allows
us to terminate gsapi_init_with_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.
1.0.7. 2013-09-17
-------------------------
- implemented multi-page PostScript support for the GhostscriptViewer.
- included Microsoft.WinAny.Helper code files in order to have a single dll for the
deployment. This will leave Ghostscript.NET library without any extra dependencies.
- added Processing event to the GhostscriptProcessor class. Processing event contains
TotalPages and CurrentPage information.
- added Error event in the GhostscriptProcessor class. Raised when error occures in
the Ghostscript interpreter.
- added DisplayPdfSample into the Ghostscript.NET.Samples project.
1.0.6. 2013-09-03
-------------------------
- added zoom-in and zoom-out functionality
- fixed ImageMemoryHelper.Set24bppRgbImageColor function when stride size is not
multiple of 3 bytes
- fixed displayed page size
1.0.5. 2013-09-02
-------------------------
- 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.
1.0.4. 2013-08-30
-------------------------
- fixed display_device callback for 64-bit systems, now this library is compatibile
with both 32-bit and 64-bit version of Ghostscript interpreter.
- added GhostscriptViewer Postscript file handler.
1.0.3. 2013-08-28
-------------------------
- fixed GhostscriptInterpreter.Run string limit, strings larger than 64 kb are now
supported.
- added GhostscriptViewer* classes 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.
1.0.2. 2013-08-26
-------------------------
- added GhostscriptInterpreter class with StdIO and Display callbacks. This class can
run postscript from the memory and display raster result from the memory on to the
screen.
- added Ghostscript.NET.DisplayTest sample with GhostscriptInterpreter class implemented.
- changed Ghostscript.NET.Samples logic to make samples run easier.
- fixed GetInstalledVersion method to search for both GPL and AFPL versions also
making sure it returns only x86 or x64 ones based on running process.
1.0.1. 2013-08-26
-------------------------
- implementation logic is changed
- added GhostscriptProcessor class with StdIO which allows you to process the files
by defining init arguments only with ability to handle Ghostscrtip output messages.
1.0.0. 2013-08-22
-------------------------
- initial release, all ghostscript functions are implemented and base wrapper created.
- ability to run multiple instances of the Ghostscript within a single process.