aspose_pdf_cloud 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +22 -0
  3. data/README.md +41 -0
  4. data/aspose_pdf_cloud.gemspec +26 -0
  5. data/lib/aspose_pdf_cloud.rb +91 -0
  6. data/lib/aspose_pdf_cloud/api/pdf_api.rb +3318 -0
  7. data/lib/aspose_pdf_cloud/api_client.rb +335 -0
  8. data/lib/aspose_pdf_cloud/api_error.rb +24 -0
  9. data/lib/aspose_pdf_cloud/configuration.rb +166 -0
  10. data/lib/aspose_pdf_cloud/models/annotation.rb +87 -0
  11. data/lib/aspose_pdf_cloud/models/annotation_response.rb +61 -0
  12. data/lib/aspose_pdf_cloud/models/annotations.rb +49 -0
  13. data/lib/aspose_pdf_cloud/models/annotations_response.rb +61 -0
  14. data/lib/aspose_pdf_cloud/models/append_document.rb +53 -0
  15. data/lib/aspose_pdf_cloud/models/attachment.rb +95 -0
  16. data/lib/aspose_pdf_cloud/models/attachment_response.rb +61 -0
  17. data/lib/aspose_pdf_cloud/models/attachments.rb +49 -0
  18. data/lib/aspose_pdf_cloud/models/attachments_response.rb +61 -0
  19. data/lib/aspose_pdf_cloud/models/barcode_response_list.rb +45 -0
  20. data/lib/aspose_pdf_cloud/models/base_object.rb +86 -0
  21. data/lib/aspose_pdf_cloud/models/base_response.rb +61 -0
  22. data/lib/aspose_pdf_cloud/models/bookmarks.rb +49 -0
  23. data/lib/aspose_pdf_cloud/models/bookmarks_response.rb +61 -0
  24. data/lib/aspose_pdf_cloud/models/color.rb +61 -0
  25. data/lib/aspose_pdf_cloud/models/document.rb +55 -0
  26. data/lib/aspose_pdf_cloud/models/document_pages_response.rb +61 -0
  27. data/lib/aspose_pdf_cloud/models/document_properties.rb +49 -0
  28. data/lib/aspose_pdf_cloud/models/document_properties_response.rb +61 -0
  29. data/lib/aspose_pdf_cloud/models/document_property.rb +63 -0
  30. data/lib/aspose_pdf_cloud/models/document_property_response.rb +61 -0
  31. data/lib/aspose_pdf_cloud/models/document_response.rb +61 -0
  32. data/lib/aspose_pdf_cloud/models/document_text_replace_response.rb +69 -0
  33. data/lib/aspose_pdf_cloud/models/field.rb +83 -0
  34. data/lib/aspose_pdf_cloud/models/field_response.rb +61 -0
  35. data/lib/aspose_pdf_cloud/models/fields.rb +49 -0
  36. data/lib/aspose_pdf_cloud/models/fields_response.rb +61 -0
  37. data/lib/aspose_pdf_cloud/models/image.rb +55 -0
  38. data/lib/aspose_pdf_cloud/models/image_response.rb +61 -0
  39. data/lib/aspose_pdf_cloud/models/images.rb +49 -0
  40. data/lib/aspose_pdf_cloud/models/images_response.rb +61 -0
  41. data/lib/aspose_pdf_cloud/models/link.rb +61 -0
  42. data/lib/aspose_pdf_cloud/models/link_annotation.rb +71 -0
  43. data/lib/aspose_pdf_cloud/models/link_annotation_response.rb +61 -0
  44. data/lib/aspose_pdf_cloud/models/link_annotations.rb +49 -0
  45. data/lib/aspose_pdf_cloud/models/link_annotations_response.rb +61 -0
  46. data/lib/aspose_pdf_cloud/models/link_element.rb +39 -0
  47. data/lib/aspose_pdf_cloud/models/merge_documents.rb +39 -0
  48. data/lib/aspose_pdf_cloud/models/page.rb +63 -0
  49. data/lib/aspose_pdf_cloud/models/page_response.rb +61 -0
  50. data/lib/aspose_pdf_cloud/models/page_text_replace_response.rb +69 -0
  51. data/lib/aspose_pdf_cloud/models/page_word_count.rb +45 -0
  52. data/lib/aspose_pdf_cloud/models/pages.rb +49 -0
  53. data/lib/aspose_pdf_cloud/models/rectangle.rb +61 -0
  54. data/lib/aspose_pdf_cloud/models/signature.rb +109 -0
  55. data/lib/aspose_pdf_cloud/models/split_result.rb +39 -0
  56. data/lib/aspose_pdf_cloud/models/split_result_document.rb +69 -0
  57. data/lib/aspose_pdf_cloud/models/split_result_response.rb +61 -0
  58. data/lib/aspose_pdf_cloud/models/stamp.rb +205 -0
  59. data/lib/aspose_pdf_cloud/models/text_format.rb +63 -0
  60. data/lib/aspose_pdf_cloud/models/text_format_response.rb +61 -0
  61. data/lib/aspose_pdf_cloud/models/text_item.rb +55 -0
  62. data/lib/aspose_pdf_cloud/models/text_item_response.rb +61 -0
  63. data/lib/aspose_pdf_cloud/models/text_items.rb +49 -0
  64. data/lib/aspose_pdf_cloud/models/text_items_response.rb +61 -0
  65. data/lib/aspose_pdf_cloud/models/text_replace.rb +53 -0
  66. data/lib/aspose_pdf_cloud/models/text_replace_list_request.rb +39 -0
  67. data/lib/aspose_pdf_cloud/models/text_state.rb +69 -0
  68. data/lib/aspose_pdf_cloud/models/tiff_export_options.rb +157 -0
  69. data/lib/aspose_pdf_cloud/models/word_count.rb +39 -0
  70. data/lib/aspose_pdf_cloud/models/word_count_response.rb +61 -0
  71. data/lib/aspose_pdf_cloud/version.rb +3 -0
  72. data/test/data/Sample-Annotation-Property.pdf +0 -0
  73. data/test/data/Sample-Annotation.pdf +0 -0
  74. data/test/data/Sample-Bookmark.pdf +0 -0
  75. data/test/data/Sample.pdf +0 -0
  76. data/test/data/SampleAttachment.pdf +0 -0
  77. data/test/data/SampleBarCodeImage.pdf +0 -0
  78. data/test/data/SampleImage.pdf +0 -0
  79. data/test/data/aspose-cloud.png +0 -0
  80. data/test/data/pkc7-sample.pfx +0 -0
  81. data/test/data/sample-field.pdf +0 -0
  82. data/test/data/sample-home.jpg +0 -0
  83. data/test/data/sample-input-2.pdf +0 -0
  84. data/test/data/sample-input.pdf +0 -0
  85. data/test/data/sample-merged.pdf +0 -0
  86. data/test/data/sample.tiff +0 -0
  87. data/test/pdf_tests.rb +623 -0
  88. metadata +216 -0
@@ -0,0 +1,39 @@
1
+ module AsposePDFCloud
2
+ #
3
+ class WordCount < BaseObject
4
+ attr_accessor :list
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'list' => :'List'
11
+
12
+ }
13
+ end
14
+
15
+ # attribute type
16
+ def self.swagger_types
17
+ {
18
+ :'list' => :'Array<PageWordCount>'
19
+
20
+ }
21
+ end
22
+
23
+ def initialize(attributes = {})
24
+ return if !attributes.is_a?(Hash) || attributes.empty?
25
+
26
+ # convert string to symbol for hash key
27
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
28
+
29
+
30
+ if attributes[:'List']
31
+ if (value = attributes[:'List']).is_a?(Array)
32
+ self.list = value
33
+ end
34
+ end
35
+
36
+ end
37
+
38
+ end
39
+ end
@@ -0,0 +1,61 @@
1
+ module AsposePDFCloud
2
+ #
3
+ class WordCountResponse < BaseObject
4
+ attr_accessor :words_per_page, :status, :code
5
+ # attribute mapping from ruby-style variable name to JSON key
6
+ def self.attribute_map
7
+ {
8
+
9
+ #
10
+ :'words_per_page' => :'WordsPerPage',
11
+
12
+ #
13
+ :'status' => :'Status',
14
+
15
+ #
16
+ :'code' => :'Code'
17
+
18
+ }
19
+ end
20
+
21
+ # attribute type
22
+ def self.swagger_types
23
+ {
24
+ :'words_per_page' => :'WordCount',
25
+ :'status' => :'String',
26
+ :'code' => :'String'
27
+
28
+ }
29
+ end
30
+
31
+ def initialize(attributes = {})
32
+ return if !attributes.is_a?(Hash) || attributes.empty?
33
+
34
+ # convert string to symbol for hash key
35
+ attributes = attributes.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
36
+
37
+
38
+ if attributes[:'WordsPerPage']
39
+ self.words_per_page = attributes[:'WordsPerPage']
40
+ end
41
+
42
+ if attributes[:'Status']
43
+ self.status = attributes[:'Status']
44
+ end
45
+
46
+ if attributes[:'Code']
47
+ self.code = attributes[:'Code']
48
+ end
49
+
50
+ end
51
+
52
+ def status=(status)
53
+ allowed_values = ["Continue", "SwitchingProtocols", "OK", "Created", "Accepted", "NonAuthoritativeInformation", "NoContent", "ResetContent", "PartialContent", "MultipleChoices", "Ambiguous", "MovedPermanently", "Moved", "Found", "Redirect", "SeeOther", "RedirectMethod", "NotModified", "UseProxy", "Unused", "TemporaryRedirect", "RedirectKeepVerb", "BadRequest", "Unauthorized", "PaymentRequired", "Forbidden", "NotFound", "MethodNotAllowed", "NotAcceptable", "ProxyAuthenticationRequired", "RequestTimeout", "Conflict", "Gone", "LengthRequired", "PreconditionFailed", "RequestEntityTooLarge", "RequestUriTooLong", "UnsupportedMediaType", "RequestedRangeNotSatisfiable", "ExpectationFailed", "UpgradeRequired", "InternalServerError", "NotImplemented", "BadGateway", "ServiceUnavailable", "GatewayTimeout", "HttpVersionNotSupported"]
54
+ if status && !allowed_values.include?(status)
55
+ fail "invalid value for 'status', must be one of #{allowed_values}"
56
+ end
57
+ @status = status
58
+ end
59
+
60
+ end
61
+ end
@@ -0,0 +1,3 @@
1
+ module AsposePDFCloud
2
+ VERSION = "1.0.0"
3
+ end
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,623 @@
1
+ require "minitest/autorun"
2
+ require "minitest/unit"
3
+
4
+ require_relative '../lib/aspose_pdf_cloud'
5
+
6
+ class PDFTests < Minitest::Test
7
+ include MiniTest::Assertions
8
+ include AsposePDFCloud
9
+ include AsposeStorageCloud
10
+
11
+ def setup
12
+ #Get App key and App SID from https://cloud.aspose.com
13
+ AsposeApp.app_key_and_sid("", "")
14
+ @pdf_api = PdfApi.new
15
+ end
16
+
17
+ def teardown
18
+ end
19
+
20
+ def upload_file(file_name)
21
+ @storage_api = StorageApi.new
22
+ response = @storage_api.put_create(file_name, File.open("data/" << file_name,"r") { |io| io.read } )
23
+ assert(response, message="Failed to upload {file_name} file.")
24
+ end
25
+
26
+ def test_put_convert_document
27
+ file_name = "Sample.pdf"
28
+
29
+ response = @pdf_api.put_convert_document(File.open("data/" << file_name,"r") { |io| io.read }, {format: "tiff"})
30
+ assert(response, message="Failed to convert document from request content to format specified")
31
+ end
32
+
33
+ def test_get_document_with_format
34
+ file_name = "Sample.pdf"
35
+ upload_file(file_name)
36
+
37
+ format = "doc"
38
+ response = @pdf_api.get_document_with_format(file_name, format)
39
+ assert(response, message="Failed to convert document to specified format")
40
+ end
41
+
42
+ def test_put_create_document
43
+ file_name = "newPDFFile.pdf"
44
+ response = @pdf_api.put_create_document(file_name)
45
+ assert(response, message="Failed to create new document")
46
+ end
47
+
48
+ def test_put_document_save_as_tiff
49
+ file_name = "Sample.pdf"
50
+ upload_file(file_name)
51
+ result_file = "sample.tiff"
52
+ upload_file(result_file)
53
+
54
+ tiff_export_options = TiffExportOptions.new
55
+ tiff_export_options.result_file = result_file;
56
+
57
+ response = @pdf_api.put_document_save_as_tiff(file_name, tiff_export_options)
58
+ assert(response, message="Failed to save document as Tiff image")
59
+ end
60
+
61
+ def test_post_append_document
62
+ file_name = "Sample.pdf"
63
+ upload_file(file_name)
64
+ append_file_name = "sample-input.pdf"
65
+ upload_file(append_file_name)
66
+
67
+ append_document = AppendDocument.new
68
+ append_document.document = append_file_name;
69
+ append_document.start_page = 2
70
+ append_document.end_page = 3
71
+
72
+ response = @pdf_api.post_append_document(file_name, append_document)
73
+ assert(response, message="Failed to append document to existing one.")
74
+ end
75
+
76
+ def test_get_document_attachments
77
+ file_name = "SampleAttachment.pdf"
78
+ upload_file(file_name)
79
+
80
+ response = @pdf_api.get_document_attachments(file_name)
81
+ assert(response, message="Failed to read document attachments info.")
82
+ end
83
+
84
+ def test_get_document_attachment_by_index
85
+ file_name = "SampleAttachment.pdf"
86
+ upload_file(file_name)
87
+
88
+ attachment_index = 1
89
+ response = @pdf_api.get_document_attachment_by_index(file_name, attachment_index)
90
+ assert(response, message="Failed to read document attachment info by its index")
91
+ end
92
+
93
+ def test_get_download_document_attachment_by_index
94
+ file_name = "SampleAttachment.pdf"
95
+ upload_file(file_name)
96
+
97
+ attachment_index = 1
98
+ response = @pdf_api.get_download_document_attachment_by_index(file_name, attachment_index)
99
+ assert(response, message="Failed to download document attachment content by its index")
100
+ end
101
+
102
+ def test_get_document_bookmarks
103
+ file_name = "Sample-Bookmark.pdf"
104
+ upload_file(file_name)
105
+
106
+ response = @pdf_api.get_document_bookmarks(file_name)
107
+ assert(response, message="Failed to read document bookmarks")
108
+ end
109
+
110
+ def test_get_document_bookmarks_children
111
+ file_name = "Sample-Bookmark.pdf"
112
+ upload_file(file_name)
113
+
114
+ bookmark_path = "1"
115
+ response = @pdf_api.get_document_bookmarks_children(file_name, bookmark_path)
116
+ assert(response, message="Failed to read document bookmark/bookmarks (including children).")
117
+ end
118
+
119
+ def test_get_document_properties
120
+ file_name = "Sample-Annotation.pdf"
121
+ upload_file(file_name)
122
+
123
+ response = @pdf_api.get_document_properties(file_name)
124
+ assert(response, message="Failed to read document properties")
125
+ end
126
+
127
+ def test_delete_properties
128
+ file_name = "Sample-Annotation.pdf"
129
+ upload_file(file_name)
130
+
131
+ response = @pdf_api.delete_properties(file_name)
132
+ assert(response, message="Failed to delete document properties.")
133
+ end
134
+
135
+ def test_get_document_property
136
+ file_name = "Sample-Annotation.pdf"
137
+ upload_file(file_name)
138
+
139
+ property_name = "author"
140
+ response = @pdf_api.get_document_property(file_name, property_name)
141
+ assert(response, message="Failed to read document property by name.")
142
+ end
143
+
144
+ def test_put_set_property
145
+ file_name = "Sample-Annotation.pdf"
146
+ upload_file(file_name)
147
+
148
+ property_name = "AsposeDev"
149
+ document_property = DocumentProperty.new
150
+ document_property.name = property_name
151
+ document_property.value = "Elon"
152
+ document_property.built_in = false
153
+
154
+ response = @pdf_api.put_set_property(file_name, property_name, document_property)
155
+ assert(response, message="Failed to add/update document property.")
156
+ end
157
+
158
+ def test_delete_property
159
+ file_name = "Sample-Annotation-Property.pdf"
160
+ upload_file(file_name)
161
+
162
+ property_name = "AsposeDev"
163
+ response = @pdf_api.delete_property(file_name, property_name)
164
+ assert(response, message="Failed to delete document property.")
165
+ end
166
+
167
+ def test_get_fields
168
+ file_name = "sample-field.pdf"
169
+ upload_file(file_name)
170
+
171
+ response = @pdf_api.get_fields(file_name)
172
+ assert(response, message="Failed to get document fields.")
173
+ end
174
+
175
+ def test_put_update_fields
176
+ file_name = "sample-field.pdf"
177
+ upload_file(file_name)
178
+
179
+ field = Field.new
180
+ field.name = "textbox1";
181
+ field.values = ["Aspose"]
182
+
183
+ fields = Fields.new
184
+ fields.list = [field]
185
+
186
+ response = @pdf_api.put_update_fields(file_name, fields)
187
+ assert(response, message="Failed to update fields.")
188
+ end
189
+
190
+ def test_post_create_field
191
+ file_name = "sample-field.pdf"
192
+ upload_file(file_name)
193
+
194
+ field = Field.new
195
+ field.name = "checkBoxField2"
196
+ field.values = ["1"]
197
+ field.type = "Boolean"
198
+
199
+ rect = Rectangle.new
200
+ rect.x = 100
201
+ rect.y = 100
202
+ rect.height = 100
203
+ rect.width = 200
204
+
205
+ field.rect = rect
206
+
207
+ page = 1
208
+ response = @pdf_api.post_create_field(file_name, page, field)
209
+ assert(response, message="Failed to create field.")
210
+ end
211
+
212
+ def test_get_field
213
+ file_name = "sample-field.pdf"
214
+ upload_file(file_name)
215
+
216
+ field_name = "textbox1"
217
+ response = @pdf_api.get_field(file_name, field_name)
218
+ assert(response, message="Failed to get document field by name.")
219
+ end
220
+
221
+ def test_put_update_field
222
+ file_name = "sample-field.pdf"
223
+ upload_file(file_name)
224
+
225
+ field_name = "textbox1"
226
+
227
+ field = Field.new
228
+ field.name = field_name
229
+ field.values = ["Aspose"]
230
+
231
+ response = @pdf_api.put_update_field(file_name, field, field_name)
232
+ assert(response, message="Failed to update field.")
233
+ end
234
+
235
+ def test_put_merge_documents
236
+ upload_file("Sample.pdf")
237
+ upload_file("sample-input.pdf")
238
+
239
+ merge_documents = MergeDocuments.new
240
+ merge_documents.list = ["Sample.pdf", "sample-input.pdf"]
241
+
242
+ response = @pdf_api.put_merge_documents("sample-merged.pdf", merge_documents)
243
+ assert(response, message="Failed to merge a list of documents")
244
+ end
245
+
246
+ def test_get_pages
247
+ file_name = "Sample-Annotation.pdf"
248
+ upload_file(file_name)
249
+
250
+ response = @pdf_api.get_pages(file_name)
251
+ assert(response, message="Failed to read document pages info")
252
+ end
253
+
254
+ def test_put_add_new_page
255
+ file_name = "sample-input.pdf"
256
+ upload_file(file_name)
257
+
258
+ response = @pdf_api.put_add_new_page(file_name)
259
+ assert(response, message="Failed to add new page to end of the document")
260
+ end
261
+
262
+ def test_get_words_per_page
263
+ file_name = "Sample-Annotation.pdf"
264
+ upload_file(file_name)
265
+
266
+ response = @pdf_api.get_words_per_page(file_name)
267
+ assert(response, message="Failed to get number of words per document page.")
268
+ end
269
+
270
+ def test_get_page_with_format
271
+ file_name = "Sample-Annotation.pdf"
272
+ upload_file(file_name)
273
+
274
+ page_number = 1
275
+ format = "png"
276
+ response = @pdf_api.get_page_with_format(file_name, page_number, format)
277
+ assert(response, message="Failed to get page in specified format.")
278
+ end
279
+
280
+ def test_delete_page
281
+ file_name = "sample-input.pdf"
282
+ upload_file(file_name)
283
+
284
+ page_number = 1
285
+ response = @pdf_api.delete_page(file_name, page_number)
286
+ assert(response, message="Failed to delete document page by its number.")
287
+ end
288
+
289
+ def test_get_page_annotations
290
+ file_name = "Sample-Annotation.pdf"
291
+ upload_file(file_name)
292
+
293
+ page_number = 1
294
+ response = @pdf_api.get_page_annotations(file_name, page_number)
295
+ assert(response, message="Failed to read document page annotations.")
296
+ end
297
+
298
+ def test_get_page_annotation
299
+ file_name = "Sample-Annotation.pdf"
300
+ upload_file(file_name)
301
+
302
+ page_number = 1
303
+ annotation_number = 1
304
+ response = @pdf_api.get_page_annotation(file_name, page_number, annotation_number)
305
+ assert(response, message="Failed to read document page annotation by its number.")
306
+ end
307
+
308
+ def test_get_fragments
309
+ file_name = "sample-input.pdf"
310
+ upload_file(file_name)
311
+
312
+ page_number = 1
313
+ response = @pdf_api.get_fragments(file_name, page_number)
314
+ assert(response, message="Failed to read page fragments.")
315
+ end
316
+
317
+ def test_get_fragment
318
+ file_name = "sample-input.pdf"
319
+ upload_file(file_name)
320
+
321
+ page_number = 1
322
+ fragment_number = 1
323
+ response = @pdf_api.get_fragment(file_name, page_number, fragment_number)
324
+ assert(response, message="Failed to read page fragment.")
325
+ end
326
+
327
+ def test_get_segments
328
+ file_name = "sample-input.pdf"
329
+ upload_file(file_name)
330
+
331
+ page_number = 1
332
+ fragment_number = 1
333
+ response = @pdf_api.get_segments(file_name, page_number, fragment_number)
334
+ assert(response, message="Failed to read fragment segments.")
335
+ end
336
+
337
+ def test_get_segment
338
+ file_name = "sample-input.pdf"
339
+ upload_file(file_name)
340
+
341
+ page_number = 1
342
+ fragment_number = 1
343
+ segment_number = 1
344
+ response = @pdf_api.get_segment(file_name, page_number, fragment_number, segment_number)
345
+ assert(response, message="Failed to read segment.")
346
+ end
347
+
348
+ def test_get_segment_text_format
349
+ file_name = "sample-input.pdf"
350
+ upload_file(file_name)
351
+
352
+ page_number = 1
353
+ fragment_number = 1
354
+ segment_number = 1
355
+ response = @pdf_api.get_segment_text_format(file_name, page_number, fragment_number, segment_number)
356
+ assert(response, message="Failed to read segment text format.")
357
+ end
358
+
359
+ def test_get_fragment_text_format
360
+ file_name = "sample-input.pdf"
361
+ upload_file(file_name)
362
+
363
+ page_number = 1
364
+ fragment_number = 1
365
+ response = @pdf_api.get_fragment_text_format(file_name, page_number, fragment_number)
366
+ assert(response, message="Failed to read page fragment text format.")
367
+ end
368
+
369
+ def test_get_images
370
+ file_name = "SampleImage.pdf"
371
+ upload_file(file_name)
372
+
373
+ page_number = 1
374
+ response = @pdf_api.get_images(file_name, page_number)
375
+ assert(response, message="Failed to read document images.")
376
+ end
377
+
378
+ def test_get_image_with_format
379
+ file_name = "SampleImage.pdf"
380
+ upload_file(file_name)
381
+
382
+ page_number = 1
383
+ image_number = 1
384
+ format = "jpeg"
385
+ response = @pdf_api.get_image_with_format(file_name, page_number, image_number, format)
386
+ assert(response, message="Failed to get image in specified format.")
387
+ end
388
+
389
+ def test_post_replace_image
390
+ file_name = "SampleImage.pdf"
391
+ upload_file(file_name)
392
+ image_file_name = "aspose-cloud.png"
393
+ upload_file(image_file_name)
394
+
395
+ page_number = 1
396
+ image_number = 1
397
+ response = @pdf_api.post_replace_image(file_name, page_number, image_number, {image_file: image_file_name})
398
+ assert(response, message="Failed to replace document image.")
399
+ end
400
+
401
+ def test_get_extract_barcodes
402
+ file_name = "SampleBarCodeImage.pdf"
403
+ upload_file(file_name)
404
+
405
+ page_number = 1
406
+ image_number = 1
407
+ response = @pdf_api.get_extract_barcodes(file_name, page_number, image_number)
408
+ assert(response, message="Failed to recognize barcodes.")
409
+ end
410
+
411
+ def test_get_page_link_annotations
412
+ file_name = "Sample-Bookmark.pdf"
413
+ upload_file(file_name)
414
+
415
+ page_number = 1
416
+ response = @pdf_api.get_page_link_annotations(file_name, page_number)
417
+ assert(response, message="Failed to read document page link annotations.")
418
+ end
419
+
420
+ def test_get_page_link_annotation_by_index
421
+ file_name = "Sample-Bookmark.pdf"
422
+ upload_file(file_name)
423
+
424
+ page_number = 1
425
+ link_index = 1
426
+ response = @pdf_api.get_page_link_annotation_by_index(file_name, page_number, link_index)
427
+ assert(response, message="Failed to read document page link annotation by its index.")
428
+ end
429
+
430
+ def test_post_move_page
431
+ file_name = "sample-merged.pdf"
432
+ upload_file(file_name)
433
+
434
+ page_number = 1
435
+ new_index = 1
436
+ response = @pdf_api.post_move_page(file_name, page_number, new_index)
437
+ assert(response, message="Failed to move page to new position.")
438
+ end
439
+
440
+ def test_post_page_replace_text
441
+ file_name = "sample-input.pdf"
442
+ upload_file(file_name)
443
+
444
+ page_number = 1
445
+ text_replace = TextReplace.new
446
+ text_replace.old_value = "Sample PDF"
447
+ text_replace.new_value = "Sample Aspose PDF"
448
+ response = @pdf_api.post_page_replace_text(file_name, page_number, text_replace)
449
+ assert(response, message="Failed to replace text")
450
+ end
451
+
452
+ def test_post_page_replace_text_list
453
+ file_name = "sample-input.pdf"
454
+ upload_file(file_name)
455
+
456
+ page_number = 1
457
+ text_replace_list_request = TextReplaceListRequest.new
458
+ text_request_1 = TextReplace.new
459
+ text_request_1.old_value = "Sample"
460
+ text_request_1.new_value = "Sample Aspose"
461
+ text_request_2 = TextReplace.new
462
+ text_request_2.old_value = "PDF"
463
+ text_request_2.new_value = "PDF Document"
464
+ text_replace_list_request.text_replaces = [text_request_1, text_request_2]
465
+
466
+ response = @pdf_api.post_page_replace_text_list(file_name, page_number, text_replace_list_request)
467
+ assert(response, message="Failed to replace text")
468
+ end
469
+
470
+ def test_post_sign_page
471
+ file_name = "sample-input.pdf"
472
+ upload_file(file_name)
473
+
474
+ signature_file_name = "pkc7-sample.pfx"
475
+ upload_file(signature_file_name)
476
+
477
+ page_number = 1
478
+ signature = Signature.new
479
+ signature.authority = "Alexey"
480
+ signature.location = "London"
481
+ signature.contact = "alexey@aspose.com"
482
+ signature.date = "10/25/2015 2:46:00.000 PM"
483
+ signature.form_field_name = "Signature1"
484
+ signature.password = "aspose"
485
+ rectangle = Rectangle.new
486
+ rectangle.x = 100
487
+ rectangle.y = 100
488
+ rectangle.height = 100
489
+ rectangle.width = 200
490
+ signature.rectangle = rectangle
491
+ signature.signature_path = signature_file_name
492
+ signature.signature_type = "PKCS7"
493
+ signature.visible = true
494
+
495
+ response = @pdf_api.post_sign_page(file_name, page_number, signature)
496
+ assert(response, message="Failed to sign page.")
497
+ end
498
+
499
+ def test_put_page_add_stamp
500
+ file_name = "sample-input.pdf"
501
+ upload_file(file_name)
502
+
503
+ page_number = 1
504
+ stamp = Stamp.new
505
+ stamp.value = "Aspose"
506
+ stamp.background = true
507
+ stamp.type = "Text"
508
+
509
+ response = @pdf_api.put_page_add_stamp(file_name, page_number, stamp)
510
+ assert(response, message="Failed to add page stamp.")
511
+ end
512
+
513
+ def test_get_page_text_items
514
+ file_name = "Sample-Annotation.pdf"
515
+ upload_file(file_name)
516
+
517
+ page_number = 1
518
+ response = @pdf_api.get_page_text_items(file_name, page_number)
519
+ assert(response, message="Failed to read page text items.")
520
+ end
521
+
522
+ def test_post_document_replace_text
523
+ file_name = "sample-input.pdf"
524
+ upload_file(file_name)
525
+
526
+ text_replace = TextReplace.new
527
+ text_replace.old_value = "Sample PDF"
528
+ text_replace.new_value = "Sample Aspose PDF"
529
+
530
+ response = @pdf_api.post_document_replace_text(file_name, text_replace)
531
+ assert(response, message="Failed to replace document's text.")
532
+ end
533
+
534
+ def test_post_document_replace_text_list
535
+ file_name = "Sample-Annotation.pdf"
536
+ upload_file(file_name)
537
+
538
+ text_replace_list_request = TextReplaceListRequest.new
539
+ text_replace_1 = TextReplace.new
540
+ text_replace_1.old_value = "Sample"
541
+ text_replace_1.new_value = "Sample Aspose"
542
+ text_replace_1.regex = false
543
+ text_replace_2 = TextReplace.new
544
+ text_replace_2.old_value = "PDF"
545
+ text_replace_2.new_value = "PDF Document"
546
+ text_replace_2.regex = false
547
+ text_replace_list_request.text_replaces = [text_replace_1, text_replace_2]
548
+
549
+ response = @pdf_api.post_document_replace_text_list(file_name, text_replace_list_request)
550
+ assert(response, message="Failed to replace document's text")
551
+ end
552
+
553
+ def test_post_sign_document
554
+ file_name = "sample-input-2.pdf"
555
+ upload_file(file_name)
556
+ signature_file_name = "pkc7-sample.pfx"
557
+ upload_file(signature_file_name)
558
+
559
+ signature = Signature.new
560
+ signature.authority = "Alexey"
561
+ signature.location = "London"
562
+ signature.contact = "alexey@aspose.com"
563
+ signature.date = "10/25/2015 2:46:00.000 PM"
564
+ signature.form_field_name = "Signature1"
565
+ signature.password = "aspose"
566
+ rectangle = Rectangle.new
567
+ rectangle.x = 100
568
+ rectangle.y = 100
569
+ rectangle.height = 100
570
+ rectangle.width = 200
571
+ signature.rectangle = rectangle
572
+ signature.signature_path = signature_file_name
573
+ signature.signature_type = "PKCS7"
574
+ signature.visible = true
575
+
576
+ response = @pdf_api.post_sign_document(file_name, signature)
577
+ assert(response, message="Failed to sign document.")
578
+ end
579
+
580
+ def test_post_split_document
581
+ file_name = "sample-input.pdf"
582
+ upload_file(file_name)
583
+
584
+ response = @pdf_api.post_split_document(file_name, {format: "pdf", from: 1, to: 2})
585
+ assert(response, message="Failed to split document to parts.")
586
+ end
587
+
588
+ def test_get_text_items
589
+ file_name = "Sample-Annotation.pdf"
590
+ upload_file(file_name)
591
+
592
+ response = @pdf_api.get_text_items(file_name)
593
+ assert(response, message="Failed to read document text items.")
594
+ end
595
+
596
+ def test_get_page
597
+ file_name = "sample-input.pdf"
598
+ upload_file(file_name)
599
+
600
+ page_number = 1
601
+ response = @pdf_api.get_page(file_name, page_number)
602
+ assert(response, message="Failed to read document page info.")
603
+ end
604
+
605
+ def test_get_document
606
+ file_name = "Sample.pdf"
607
+ upload_file(file_name)
608
+
609
+ response = @pdf_api.get_document(file_name)
610
+ assert(response, message="Failed to read common document info.")
611
+ end
612
+
613
+ def test_get_image
614
+ file_name = "SampleImage.pdf"
615
+ upload_file(file_name)
616
+
617
+ page_number = 1
618
+ image_number = 1
619
+ response = @pdf_api.get_image(file_name, page_number, image_number)
620
+ assert(response, message="Failed to read document image by number.")
621
+ end
622
+
623
+ end