pdf4me 2.0.4 → 2.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -25
- data/lib/pdf4me.rb +1 -1
- data/lib/pdf4me/actions/complex_action.rb +0 -5
- data/lib/pdf4me/actions/merge.rb +3 -5
- data/lib/pdf4me/client.rb +2 -3
- data/lib/pdf4me/models/document.rb +4 -0
- data/lib/pdf4me/models/image.rb +18 -1
- data/lib/pdf4me/models/rectangle.rb +15 -0
- data/lib/pdf4me/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db3d182d3b4af74c5ff907eb49e4285a1cecfb43
|
4
|
+
data.tar.gz: 371372c8ca58d1dd7fb5c44692298b81b0dd98b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42dffb34be3838d87978197c9fc32f65717a1b7654977c1ffdd44dd54c3c408b11f488959154142304f53e30e8587015c08d58524d9dfd2fc3ed00444478246a
|
7
|
+
data.tar.gz: b0850f533a3839c904ffa9296c28b1f20f4a5507cc39898a3783a98aee0896f162c7ae01a33733f1ea2f24ca2838084c39f16e01a26790eaccccc52951969319
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
## Note
|
2
|
+
This documention is for Gem version 2.x.x, for documentation of Version 1.x.x, please refer the following [README](https://github.com/pdf4me/pdf4me-clientapi-ruby/tree/1-0-stable)
|
1
3
|
# pdf4me
|
2
4
|
|
3
5
|
**Pdf4me** is a PDF utility tool for Ruby and other languages.
|
@@ -157,16 +159,13 @@ a.run
|
|
157
159
|
|
158
160
|
|
159
161
|
## Advanced Usage
|
160
|
-
> These methods are more complex than the Basic Wrapper methods.
|
162
|
+
> These methods are more complex than the Basic Wrapper methods.
|
161
163
|
>
|
162
164
|
> By default all the Advanced methods run in blocking mode -
|
163
165
|
> i.e you wait for the server to send you the response.
|
164
166
|
>
|
165
167
|
> If you want to run the operation asynchronously - you will be notified by a webhook over the result -
|
166
|
-
then please
|
167
|
-
>
|
168
|
-
> When the `Pdf4me::Notification` object is set, it will overwrite what is the default behaviour
|
169
|
-
defined on the application/api level.
|
168
|
+
then please configure the notification at the dashboard
|
170
169
|
>
|
171
170
|
>See Pdf4me-Developer page to configure the webhook on application level.
|
172
171
|
|
@@ -176,7 +175,7 @@ defined on the application/api level.
|
|
176
175
|
`convert_file_to_pdf`. The request is instantiated as a hash with the `:req` key,
|
177
176
|
that takes in `Pdf4me::ConvertToPdf` model.
|
178
177
|
|
179
|
-
> The action takes
|
178
|
+
> The action takes two different models `:document`, `:convert_to_pdf_action` and returns
|
180
179
|
`Pdf4me::ConvertToPdfRes`
|
181
180
|
|
182
181
|
> To get more information regarding the models, please refer the provided [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?java#converttopdfreq)
|
@@ -189,8 +188,7 @@ that takes in `Pdf4me::ConvertToPdf` model.
|
|
189
188
|
doc_data: Base64.encode64(File.open(file_path, 'rb', &:read)),
|
190
189
|
name: "TestDocToConvert.docx"
|
191
190
|
),
|
192
|
-
convert_to_pdf_action: Pdf4me::ConvertToPdfAction.new
|
193
|
-
notification: Pdf4me::Notification.new(get_notification: true) # async, set false to invoke blocking mode.
|
191
|
+
convert_to_pdf_action: Pdf4me::ConvertToPdfAction.new
|
194
192
|
)
|
195
193
|
response = action.run
|
196
194
|
|
@@ -204,7 +202,7 @@ that takes in `Pdf4me::ConvertToPdf` model.
|
|
204
202
|
|
205
203
|
> Given a PDF document, Optimize the document and return `Pdf4me::OptimizeRes`
|
206
204
|
>
|
207
|
-
> `:optimize` takes
|
205
|
+
> `:optimize` takes two different models `document` and `optimize_action`
|
208
206
|
>
|
209
207
|
> `Pdf4me::OptimizeAction` takes multiple arguments, important amongst them being `profile`
|
210
208
|
> * profile, valid values are `default`, `web`, `print`, `max`, `mRC`
|
@@ -234,10 +232,9 @@ that takes in `Pdf4me::ConvertToPdf` model.
|
|
234
232
|
### extract
|
235
233
|
> Extract out pages from PDF. You can choose from the pages you want to get.
|
236
234
|
|
237
|
-
> `extract` takes
|
235
|
+
> `extract` takes two model arguments
|
238
236
|
> * `extract_action`
|
239
237
|
> * `document`
|
240
|
-
> * `notification` - non mandatory
|
241
238
|
|
242
239
|
> To list all possible options for the models please refer the [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#extractreq)
|
243
240
|
|
@@ -250,8 +247,7 @@ that takes in `Pdf4me::ConvertToPdf` model.
|
|
250
247
|
),
|
251
248
|
extract_action: Pdf4me::ExtractAction.new(
|
252
249
|
extract_pages: [1, 2, 5]
|
253
|
-
)
|
254
|
-
notification: Pdf4me::Notification.new(get_notification: true) # async
|
250
|
+
)
|
255
251
|
)
|
256
252
|
response = action.run
|
257
253
|
|
@@ -265,10 +261,9 @@ that takes in `Pdf4me::ConvertToPdf` model.
|
|
265
261
|
> Creates images from the PDF Document. This is useful if you want to create thumbnails for the PDF.<br>
|
266
262
|
> The options are highly configurable to get the desired output.
|
267
263
|
> The output would be a base64 encoded object that you have to save.
|
268
|
-
> `create_images` takes
|
264
|
+
> `create_images` takes two different arguments.
|
269
265
|
> * `document`
|
270
266
|
> * `image_action`
|
271
|
-
> * `notification` - non mandatory
|
272
267
|
|
273
268
|
> Each model has their own set of attributes and hence can be configured further.
|
274
269
|
The full documentation of model attributes are available at [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#createimagesreq)
|
@@ -305,10 +300,9 @@ The full documentation of model attributes are available at [model definition](h
|
|
305
300
|
|
306
301
|
### merge
|
307
302
|
> Merges two or more PDF and gives MergeRes, a Base64 Encoded file
|
308
|
-
> `merge` takes
|
303
|
+
> `merge` takes two model arguments
|
309
304
|
> * `documents` - An Array of `Pdf4me::Document`
|
310
305
|
> * `merge_action` - `Pdf4me::MergeAction` model - non mandatory
|
311
|
-
> * `notification` - `Pdf4me::Notification` model - non mandatory
|
312
306
|
|
313
307
|
> To list all possible options for the models please refer the [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#mergereq)
|
314
308
|
|
@@ -341,10 +335,9 @@ The full documentation of model attributes are available at [model definition](h
|
|
341
335
|
|
342
336
|
### pdf_a
|
343
337
|
> Creates PDF/A Documents from normal PDF document.
|
344
|
-
> `pdf_a` takes
|
338
|
+
> `pdf_a` takes two model arguments.
|
345
339
|
> * `document` - a valid instance of `Pdf4me::Document`
|
346
340
|
> * `pdf_a_action` - a valid instance of `Pdf4me::PdfAAction`
|
347
|
-
> * `notification` - a valid instance of `Pdf4me::Notification` - non mandatory
|
348
341
|
>
|
349
342
|
> To list all possible options for the models please refer the [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#createpdfareq)
|
350
343
|
```ruby
|
@@ -373,10 +366,9 @@ The full documentation of model attributes are available at [model definition](h
|
|
373
366
|
|
374
367
|
### split
|
375
368
|
> Given a PDF, split the PDF into parts
|
376
|
-
> `split` takes up
|
369
|
+
> `split` takes up two models
|
377
370
|
> * `document` - a valid instance of `Pdf4me::Document`
|
378
371
|
> * `split_action` - a valid instance of `Pdf4me::SplitAction` which defines the number of parts the PDF splits into
|
379
|
-
> * `notification` - non mandatory, an instance of `Pdf4me::Notification`
|
380
372
|
>
|
381
373
|
> To list all possible options for the models please refer the [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#splitreq)
|
382
374
|
|
@@ -406,10 +398,9 @@ The full documentation of model attributes are available at [model definition](h
|
|
406
398
|
> You can stamp either a text or image to PDF, There are two separate methods defined to help you with stamping
|
407
399
|
> - Stamp PDF with image
|
408
400
|
> - Stamp PDF with Text
|
409
|
-
> `stamp` takes
|
401
|
+
> `stamp` takes two model arguments
|
410
402
|
* `document` - a valid instance of `Pdf4me::Document`
|
411
403
|
> * `stamp_action` - a valid instance of `Pdf4me::StampAction` which defines the stamp type, and position.
|
412
|
-
> * `notification` - non mandatory, an instance of `Pdf4me::Notification`
|
413
404
|
>
|
414
405
|
> To list all possible options for the models please refer the [model definition](https://pdf4medoc.blob.core.windows.net/doc/index.html?curl#stampreq)
|
415
406
|
|
@@ -422,8 +413,10 @@ The full documentation of model attributes are available at [model definition](h
|
|
422
413
|
),
|
423
414
|
stamp_action: Pdf4me::StampAction.new(
|
424
415
|
image: Pdf4me::Image.new(
|
425
|
-
image_data: Base64.encode64(File.open(image_path, 'rb', &:read))
|
426
|
-
|
416
|
+
image_data: Base64.encode64(File.open(image_path, 'rb', &:read)),
|
417
|
+
recetangle: Pdf4me::Rectangle.new(width: 200, height: 200)
|
418
|
+
),
|
419
|
+
|
427
420
|
)
|
428
421
|
)
|
429
422
|
response = action.run
|
data/lib/pdf4me.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module Pdf4me
|
2
2
|
class ComplexAction
|
3
|
-
attr_accessor :notification
|
4
3
|
attr_reader :client
|
5
4
|
|
6
5
|
def client
|
@@ -38,10 +37,6 @@ module Pdf4me
|
|
38
37
|
errors.flatten
|
39
38
|
end
|
40
39
|
|
41
|
-
def notification
|
42
|
-
@notification || Pdf4me::Notification.new
|
43
|
-
end
|
44
|
-
|
45
40
|
protected
|
46
41
|
|
47
42
|
def attributes
|
data/lib/pdf4me/actions/merge.rb
CHANGED
@@ -16,19 +16,17 @@ module Pdf4me
|
|
16
16
|
|
17
17
|
def valid_objects?
|
18
18
|
documents.is_a?(Array) &&
|
19
|
-
merge_action.is_a?(Pdf4me::MergeAction)
|
20
|
-
notification.is_a?(Pdf4me::Notification)
|
19
|
+
merge_action.is_a?(Pdf4me::MergeAction)
|
21
20
|
end
|
22
21
|
|
23
22
|
def valid_instances?
|
24
|
-
|
23
|
+
merge_action.valid?
|
25
24
|
end
|
26
25
|
|
27
26
|
def serialize_attributes
|
28
27
|
{
|
29
28
|
documents: documents.map { |document| document.attributes },
|
30
|
-
merge_action: merge_action.attributes
|
31
|
-
notification: notification.attributes
|
29
|
+
merge_action: merge_action.attributes
|
32
30
|
}
|
33
31
|
end
|
34
32
|
end
|
data/lib/pdf4me/client.rb
CHANGED
@@ -32,7 +32,6 @@ module Pdf4me
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def post(path, params)
|
35
|
-
logger.debug(params)
|
36
35
|
request = Typhoeus::Request.new(
|
37
36
|
request_url(path),
|
38
37
|
method: :post,
|
@@ -41,7 +40,7 @@ module Pdf4me
|
|
41
40
|
'Accept': 'application/json',
|
42
41
|
'Content-Type': 'application/json',
|
43
42
|
'Authorization': "Basic #{config.token}",
|
44
|
-
'User-Agent': "
|
43
|
+
'User-Agent': "Pdf4me/ruby/#{VERSION}"
|
45
44
|
},
|
46
45
|
timeout: 0,
|
47
46
|
ssl_verifypeer: true,
|
@@ -65,7 +64,7 @@ module Pdf4me
|
|
65
64
|
'Accept': 'application/octet-stream',
|
66
65
|
'Content-Type': 'multipart/form-data',
|
67
66
|
'Authorization': "Basic #{config.token}",
|
68
|
-
'User-Agent': "
|
67
|
+
'User-Agent': "Pdf4me/ruby/#{VERSION}"
|
69
68
|
},
|
70
69
|
timeout: 0,
|
71
70
|
ssl_verifypeer: true,
|
data/lib/pdf4me/models/image.rb
CHANGED
@@ -2,10 +2,27 @@ module Pdf4me
|
|
2
2
|
class Image < Base
|
3
3
|
ATTRIBUTES = {
|
4
4
|
image_data: 'String',
|
5
|
-
image_type: 'String'
|
5
|
+
image_type: 'String',
|
6
|
+
rectangle: 'Rectangle',
|
7
|
+
file_name: 'String',
|
8
|
+
compression: 'String',
|
9
|
+
rotate: 'Rotate',
|
10
|
+
translate: 'Translate',
|
11
|
+
transform: 'Transform'
|
6
12
|
}
|
7
13
|
attr_accessor *ATTRIBUTES.keys
|
8
14
|
|
9
15
|
validates_presence_of :image_data
|
16
|
+
validates_inclusion_of :compression, in: %w|cCITTFax flate dCT|
|
17
|
+
|
18
|
+
def inspect
|
19
|
+
"#<#{self.class}:0x#{object_id.to_s(16)}>"
|
20
|
+
end
|
21
|
+
|
22
|
+
def defaults
|
23
|
+
{
|
24
|
+
compression: 'flate'
|
25
|
+
}
|
26
|
+
end
|
10
27
|
end
|
11
28
|
end
|
data/lib/pdf4me/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pdf4me
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- arpanlepcha
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-12-
|
11
|
+
date: 2018-12-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|
@@ -176,6 +176,7 @@ files:
|
|
176
176
|
- lib/pdf4me/models/pdf_a_action.rb
|
177
177
|
- lib/pdf4me/models/pdf_a_res.rb
|
178
178
|
- lib/pdf4me/models/pdf_font.rb
|
179
|
+
- lib/pdf4me/models/rectangle.rb
|
179
180
|
- lib/pdf4me/models/rgb_set.rb
|
180
181
|
- lib/pdf4me/models/rotate.rb
|
181
182
|
- lib/pdf4me/models/split_action.rb
|
@@ -258,7 +259,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
258
259
|
version: '0'
|
259
260
|
requirements: []
|
260
261
|
rubyforge_project:
|
261
|
-
rubygems_version: 2.
|
262
|
+
rubygems_version: 2.5.1
|
262
263
|
signing_key:
|
263
264
|
specification_version: 4
|
264
265
|
summary: Pdf4me Ruby Gem
|