aspose_pdf_cloud 18.7.0 → 18.9.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 (124) hide show
  1. checksums.yaml +4 -4
  2. data/aspose_pdf_cloud.gemspec +53 -49
  3. data/lib/aspose_pdf_cloud.rb +150 -145
  4. data/lib/aspose_pdf_cloud/api/pdf_api.rb +12907 -11705
  5. data/lib/aspose_pdf_cloud/api_client.rb +2 -2
  6. data/lib/aspose_pdf_cloud/api_error.rb +47 -47
  7. data/lib/aspose_pdf_cloud/configuration.rb +175 -185
  8. data/lib/aspose_pdf_cloud/models/annotation.rb +332 -260
  9. data/lib/aspose_pdf_cloud/models/annotation_flags.rb +52 -0
  10. data/lib/aspose_pdf_cloud/models/annotation_info.rb +342 -0
  11. data/lib/aspose_pdf_cloud/models/annotation_state.rb +49 -0
  12. data/lib/aspose_pdf_cloud/models/annotation_type.rb +69 -0
  13. data/lib/aspose_pdf_cloud/models/{annotations.rb → annotations_info.rb} +211 -211
  14. data/lib/aspose_pdf_cloud/models/{annotations_response.rb → annotations_info_response.rb} +222 -222
  15. data/lib/aspose_pdf_cloud/models/antialiasing_processing_type.rb +43 -43
  16. data/lib/aspose_pdf_cloud/models/append_document.rb +233 -228
  17. data/lib/aspose_pdf_cloud/models/{saa_spose_response.rb → aspose_response.rb} +213 -213
  18. data/lib/aspose_pdf_cloud/models/attachment.rb +270 -270
  19. data/lib/aspose_pdf_cloud/models/attachment_response.rb +222 -222
  20. data/lib/aspose_pdf_cloud/models/attachments.rb +211 -211
  21. data/lib/aspose_pdf_cloud/models/attachments_response.rb +222 -222
  22. data/lib/aspose_pdf_cloud/models/color.rb +244 -244
  23. data/lib/aspose_pdf_cloud/models/color_depth.rb +45 -45
  24. data/lib/aspose_pdf_cloud/models/compression_type.rb +46 -46
  25. data/lib/aspose_pdf_cloud/models/doc_format.rb +43 -43
  26. data/lib/aspose_pdf_cloud/models/doc_recognition_mode.rb +43 -43
  27. data/lib/aspose_pdf_cloud/models/document.rb +220 -220
  28. data/lib/aspose_pdf_cloud/models/{text_item_response.rb → document_page_response.rb} +222 -222
  29. data/lib/aspose_pdf_cloud/models/document_pages_response.rb +222 -222
  30. data/lib/aspose_pdf_cloud/models/document_privilege.rb +298 -298
  31. data/lib/aspose_pdf_cloud/models/document_properties.rb +211 -211
  32. data/lib/aspose_pdf_cloud/models/document_properties_response.rb +222 -222
  33. data/lib/aspose_pdf_cloud/models/document_property.rb +227 -227
  34. data/lib/aspose_pdf_cloud/models/document_property_response.rb +222 -222
  35. data/lib/aspose_pdf_cloud/models/document_response.rb +233 -233
  36. data/lib/aspose_pdf_cloud/models/epub_recognition_mode.rb +44 -44
  37. data/lib/aspose_pdf_cloud/models/field.rb +254 -254
  38. data/lib/aspose_pdf_cloud/models/field_response.rb +222 -222
  39. data/lib/aspose_pdf_cloud/models/field_type.rb +45 -44
  40. data/lib/aspose_pdf_cloud/models/fields.rb +211 -211
  41. data/lib/aspose_pdf_cloud/models/fields_response.rb +222 -222
  42. data/lib/aspose_pdf_cloud/models/font_encoding_rules.rb +43 -43
  43. data/lib/aspose_pdf_cloud/models/font_saving_modes.rb +45 -45
  44. data/lib/aspose_pdf_cloud/models/font_styles.rb +45 -43
  45. data/lib/aspose_pdf_cloud/models/free_text_annotation.rb +382 -0
  46. data/lib/aspose_pdf_cloud/models/{annotation_response.rb → free_text_annotation_response.rb} +222 -222
  47. data/lib/aspose_pdf_cloud/models/{text_items.rb → free_text_annotations.rb} +211 -211
  48. data/lib/aspose_pdf_cloud/models/{text_items_response.rb → free_text_annotations_response.rb} +222 -222
  49. data/lib/aspose_pdf_cloud/models/free_text_intent.rb +44 -0
  50. data/lib/aspose_pdf_cloud/models/horizontal_alignment.rb +45 -44
  51. data/lib/aspose_pdf_cloud/models/html_document_type.rb +43 -43
  52. data/lib/aspose_pdf_cloud/models/html_markup_generation_modes.rb +43 -43
  53. data/lib/aspose_pdf_cloud/models/image.rb +250 -220
  54. data/lib/aspose_pdf_cloud/models/image_response.rb +222 -222
  55. data/lib/aspose_pdf_cloud/models/image_src_type.rb +43 -43
  56. data/lib/aspose_pdf_cloud/models/image_template.rb +281 -281
  57. data/lib/aspose_pdf_cloud/models/image_templates_request.rb +230 -230
  58. data/lib/aspose_pdf_cloud/models/images.rb +211 -211
  59. data/lib/aspose_pdf_cloud/models/images_response.rb +222 -222
  60. data/lib/aspose_pdf_cloud/models/justification.rb +44 -0
  61. data/lib/aspose_pdf_cloud/models/letters_positioning_methods.rb +43 -43
  62. data/lib/aspose_pdf_cloud/models/line_spacing.rb +43 -43
  63. data/lib/aspose_pdf_cloud/models/link.rb +228 -228
  64. data/lib/aspose_pdf_cloud/models/link_action_type.rb +47 -46
  65. data/lib/aspose_pdf_cloud/models/link_annotation.rb +254 -236
  66. data/lib/aspose_pdf_cloud/models/link_annotation_response.rb +222 -222
  67. data/lib/aspose_pdf_cloud/models/link_annotations.rb +211 -211
  68. data/lib/aspose_pdf_cloud/models/link_annotations_response.rb +222 -222
  69. data/lib/aspose_pdf_cloud/models/link_element.rb +200 -200
  70. data/lib/aspose_pdf_cloud/models/link_highlighting_mode.rb +46 -45
  71. data/lib/aspose_pdf_cloud/models/margin_info.rb +244 -244
  72. data/lib/aspose_pdf_cloud/models/markup_annotation.rb +342 -0
  73. data/lib/aspose_pdf_cloud/models/merge_documents.rb +205 -200
  74. data/lib/aspose_pdf_cloud/models/optimize_options.rb +293 -293
  75. data/lib/aspose_pdf_cloud/models/page.rb +228 -228
  76. data/lib/aspose_pdf_cloud/models/page_word_count.rb +218 -218
  77. data/lib/aspose_pdf_cloud/models/pages.rb +211 -211
  78. data/lib/aspose_pdf_cloud/models/paragraph.rb +303 -303
  79. data/lib/aspose_pdf_cloud/models/parts_embedding_modes.rb +44 -44
  80. data/lib/aspose_pdf_cloud/models/pdf_a_type.rb +43 -43
  81. data/lib/aspose_pdf_cloud/models/raster_images_saving_modes.rb +44 -44
  82. data/lib/aspose_pdf_cloud/models/{document_text_replace_response.rb → rectangle_pdf.rb} +244 -231
  83. data/lib/aspose_pdf_cloud/models/rotation.rb +45 -44
  84. data/lib/aspose_pdf_cloud/models/segment.rb +211 -206
  85. data/lib/aspose_pdf_cloud/models/shape_type.rb +44 -44
  86. data/lib/aspose_pdf_cloud/models/signature.rb +338 -333
  87. data/lib/aspose_pdf_cloud/models/signature_type.rb +44 -42
  88. data/lib/aspose_pdf_cloud/models/signature_verify_response.rb +223 -223
  89. data/lib/aspose_pdf_cloud/models/split_result.rb +200 -200
  90. data/lib/aspose_pdf_cloud/models/split_result_document.rb +238 -238
  91. data/lib/aspose_pdf_cloud/models/split_result_response.rb +223 -223
  92. data/lib/aspose_pdf_cloud/models/stamp.rb +413 -413
  93. data/lib/aspose_pdf_cloud/models/stamp_type.rb +45 -44
  94. data/lib/aspose_pdf_cloud/models/{tiff_export_options.rb → text_annotation.rb} +382 -348
  95. data/lib/aspose_pdf_cloud/models/text_annotation_response.rb +222 -0
  96. data/lib/aspose_pdf_cloud/models/{text_item.rb → text_annotations.rb} +211 -218
  97. data/lib/aspose_pdf_cloud/models/text_annotations_response.rb +222 -0
  98. data/lib/aspose_pdf_cloud/models/text_horizontal_alignment.rb +47 -47
  99. data/lib/aspose_pdf_cloud/models/text_icon.rb +52 -0
  100. data/lib/aspose_pdf_cloud/models/text_line.rb +215 -210
  101. data/lib/aspose_pdf_cloud/models/text_rect.rb +220 -220
  102. data/lib/aspose_pdf_cloud/models/text_rects.rb +199 -199
  103. data/lib/aspose_pdf_cloud/models/text_rects_response.rb +222 -222
  104. data/lib/aspose_pdf_cloud/models/text_replace.rb +253 -253
  105. data/lib/aspose_pdf_cloud/models/text_replace_list_request.rb +232 -232
  106. data/lib/aspose_pdf_cloud/models/text_replace_response.rb +222 -222
  107. data/lib/aspose_pdf_cloud/models/text_state.rb +248 -248
  108. data/lib/aspose_pdf_cloud/models/{text_format.rb → text_style.rb} +233 -227
  109. data/lib/aspose_pdf_cloud/models/vertical_alignment.rb +45 -45
  110. data/lib/aspose_pdf_cloud/models/word_count.rb +199 -199
  111. data/lib/aspose_pdf_cloud/models/word_count_response.rb +223 -223
  112. data/lib/aspose_pdf_cloud/models/wrap_mode.rb +44 -44
  113. data/lib/aspose_pdf_cloud/version.rb +24 -24
  114. data/test/pdf_tests.rb +1496 -1325
  115. data/test_data/TexExample.tex +304 -304
  116. metadata +24 -21
  117. data/.gitignore +0 -46
  118. data/.swagger-codegen-ignore +0 -58
  119. data/lib/aspose_pdf_cloud/models/http_status_code.rb +0 -87
  120. data/lib/aspose_pdf_cloud/models/images_list_request.rb +0 -205
  121. data/lib/aspose_pdf_cloud/models/page_text_replace_response.rb +0 -231
  122. data/lib/aspose_pdf_cloud/models/rectangle.rb +0 -244
  123. data/lib/aspose_pdf_cloud/models/text_format_response.rb +0 -222
  124. data/lib/aspose_pdf_cloud/models/text_replace_request.rb +0 -262
@@ -1,24 +1,24 @@
1
- =begin
2
- --------------------------------------------------------------------------------------------------------------------
3
- Copyright (c) 2018 Aspose.PDF Cloud
4
- Permission is hereby granted, free of charge, to any person obtaining a copy
5
- of this software and associated documentation files (the "Software"), to deal
6
- in the Software without restriction, including without limitation the rights
7
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- copies of the Software, and to permit persons to whom the Software is
9
- furnished to do so, subject to the following conditions:
10
- The above copyright notice and this permission notice shall be included in all
11
- copies or substantial portions of the Software.
12
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- SOFTWARE.
19
- --------------------------------------------------------------------------------------------------------------------
20
- =end
21
-
22
- module AsposePdfCloud
23
- VERSION = "18.7.0"
24
- end
1
+ =begin
2
+ --------------------------------------------------------------------------------------------------------------------
3
+ Copyright (c) 2018 Aspose.PDF Cloud
4
+ Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ of this software and associated documentation files (the "Software"), to deal
6
+ in the Software without restriction, including without limitation the rights
7
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ copies of the Software, and to permit persons to whom the Software is
9
+ furnished to do so, subject to the following conditions:
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
+ SOFTWARE.
19
+ --------------------------------------------------------------------------------------------------------------------
20
+ =end
21
+
22
+ module AsposePdfCloud
23
+ VERSION = "18.9.0"
24
+ end
@@ -30,14 +30,14 @@ class PdfTests < Minitest::Test
30
30
 
31
31
 
32
32
  def setup
33
- # Get App key and App SID from https://cloud.aspose.com
33
+ # Get App key and App SID from https://aspose.cloud
34
34
  @pdf_api = PdfApi.new('app_key', 'app_sid')
35
35
 
36
36
  @temp_folder = 'TempPdfCloud'
37
37
  @test_data_folder = '../test_data/'
38
38
 
39
39
  config = @pdf_api.api_client.config
40
- config.host = 'api-dev.aspose.cloud'
40
+ config.host = 'billing.cloud.saltov.dynabic.com'
41
41
  config.scheme = 'https'
42
42
  end
43
43
 
@@ -54,6 +54,30 @@ class PdfTests < Minitest::Test
54
54
 
55
55
  # Annotations Tests
56
56
 
57
+ def test_get_document_annotations
58
+ file_name = 'PdfWithAnnotations.pdf'
59
+ upload_file(file_name)
60
+
61
+ opts = {
62
+ :folder => @temp_folder
63
+ }
64
+
65
+ response = @pdf_api.get_document_annotations(file_name, opts)
66
+ assert(response, 'Failed to read document annotations.')
67
+ end
68
+
69
+ def test_delete_document_annotations
70
+ file_name = 'PdfWithAnnotations.pdf'
71
+ upload_file(file_name)
72
+
73
+ opts = {
74
+ :folder => @temp_folder
75
+ }
76
+
77
+ response = @pdf_api.delete_document_annotations(file_name, opts)
78
+ assert(response, 'Failed to delete document annotations.')
79
+ end
80
+
57
81
  def test_get_page_annotations
58
82
  file_name = 'PdfWithAnnotations.pdf'
59
83
  upload_file(file_name)
@@ -67,6 +91,237 @@ class PdfTests < Minitest::Test
67
91
  assert(response, 'Failed to read document page annotations.')
68
92
  end
69
93
 
94
+ def test_delete_page_annotations
95
+ file_name = 'PdfWithAnnotations.pdf'
96
+ upload_file(file_name)
97
+
98
+ page_number = 2
99
+ opts = {
100
+ :folder => @temp_folder
101
+ }
102
+
103
+ response = @pdf_api.delete_page_annotations(file_name, page_number, opts)
104
+ assert(response, 'Failed to read document page annotations.')
105
+ end
106
+
107
+ def test_delete_annotation
108
+ file_name = 'PdfWithAnnotations.pdf'
109
+ upload_file(file_name)
110
+
111
+
112
+ opts = {
113
+ :folder => @temp_folder
114
+ }
115
+
116
+ annotations_response = @pdf_api.get_document_annotations(file_name, opts)
117
+ assert(annotations_response, 'Failed to read document annotations.')
118
+ annotation_id = annotations_response[0].annotations.list[0].id
119
+
120
+ response = @pdf_api.delete_annotation(file_name, annotation_id, opts)
121
+ assert(response, 'Failed to delete annotation.')
122
+ end
123
+
124
+ # Free Text Annotations Tests
125
+
126
+ def test_get_document_free_text_annotations
127
+ file_name = 'PdfWithAnnotations.pdf'
128
+ upload_file(file_name)
129
+
130
+ opts = {
131
+ :folder => @temp_folder
132
+ }
133
+
134
+ response = @pdf_api.get_document_free_text_annotations(file_name, opts)
135
+ assert(response, 'Failed to read document free text annotations.')
136
+ end
137
+
138
+ def test_post_page_free_text_annotations
139
+ file_name = 'PdfWithAnnotations.pdf'
140
+ upload_file(file_name)
141
+
142
+ opts = {
143
+ :folder => @temp_folder
144
+ }
145
+
146
+ text_style = TextStyle.new
147
+ text_style.font_size = 12
148
+ text_style.font = 'Arial'
149
+ text_style.foreground_color = Color.new({:A => 0xFF, :R => 0, :G => 0xFF, :B => 0})
150
+ text_style.background_color = Color.new({:A => 0xFF, :R => 0xFF, :G => 0, :B => 0})
151
+
152
+ annotation = FreeTextAnnotation.new
153
+ annotation.name = 'Test Free Text'
154
+ annotation.text_style = text_style
155
+ annotation.rect = RectanglePdf.new({:LLX => 100, :LLY => 100, :URX => 200, :URY => 200})
156
+ annotation.flags = [AnnotationFlags::DEFAULT]
157
+ annotation.horizontal_alignment = HorizontalAlignment::CENTER
158
+ annotation.intent = FreeTextIntent::FREE_TEXT_TYPE_WRITER
159
+ annotation.rich_text = 'Rich Text'
160
+ annotation.subject = 'Text Box Subj'
161
+ annotation.z_index = 1
162
+ annotation.justification = Justification::CENTER
163
+ annotation.title = 'Title'
164
+
165
+ response = @pdf_api.post_page_free_text_annotations(file_name, 1, [annotation], opts)
166
+ assert(response, 'Failed to add free text annotations into page.')
167
+ end
168
+
169
+ def test_get_page_free_text_annotations
170
+ file_name = 'PdfWithAnnotations.pdf'
171
+ upload_file(file_name)
172
+
173
+ page_number = 1
174
+ opts = {
175
+ :folder => @temp_folder
176
+ }
177
+
178
+ response = @pdf_api.get_page_free_text_annotations(file_name, page_number, opts)
179
+ assert(response, 'Failed to read page free text annotations.')
180
+ end
181
+
182
+ def test_get_free_text_annotation
183
+ file_name = 'PdfWithAnnotations.pdf'
184
+ upload_file(file_name)
185
+
186
+ opts = {
187
+ :folder => @temp_folder
188
+ }
189
+
190
+ annotations_response = @pdf_api.get_document_free_text_annotations(file_name, opts)
191
+ assert(annotations_response, 'Failed to read document free text annotations.')
192
+ annotation_id = annotations_response[0].annotations.list[0].id
193
+
194
+ response = @pdf_api.get_free_text_annotation(file_name, annotation_id, opts)
195
+ assert(response, 'Failed to read page free text annotations.')
196
+ end
197
+
198
+ def test_put_free_text_annotation
199
+ file_name = 'PdfWithAnnotations.pdf'
200
+ upload_file(file_name)
201
+
202
+ opts = {
203
+ :folder => @temp_folder
204
+ }
205
+
206
+ text_style = TextStyle.new
207
+ text_style.font_size = 12
208
+ text_style.font = 'Arial'
209
+ text_style.foreground_color = Color.new({:A => 0xFF, :R => 0, :G => 0xFF, :B => 0})
210
+ text_style.background_color = Color.new({:A => 0xFF, :R => 0xFF, :G => 0, :B => 0})
211
+
212
+ annotation = FreeTextAnnotation.new
213
+ annotation.name = 'Test Free Text'
214
+ annotation.text_style = text_style
215
+ annotation.rect = RectanglePdf.new({:LLX => 100, :LLY => 100, :URX => 200, :URY => 200})
216
+ annotation.flags = [AnnotationFlags::DEFAULT]
217
+ annotation.horizontal_alignment = HorizontalAlignment::CENTER
218
+ annotation.intent = FreeTextIntent::FREE_TEXT_TYPE_WRITER
219
+ annotation.rich_text = 'Rich Text'
220
+ annotation.subject = 'Text Box Subj'
221
+ annotation.z_index = 1
222
+ annotation.justification = Justification::CENTER
223
+ annotation.title = 'Title'
224
+
225
+ annotations_response = @pdf_api.get_document_free_text_annotations(file_name, opts)
226
+ assert(annotations_response, 'Failed to read document free text annotations.')
227
+ annotation_id = annotations_response[0].annotations.list[0].id
228
+
229
+ response = @pdf_api.put_free_text_annotation(file_name, annotation_id, annotation, opts)
230
+ assert(response, 'Failed to replace free text annotation.')
231
+ end
232
+
233
+
234
+ # Text Annotations Tests
235
+
236
+ def test_get_document_text_annotations
237
+ file_name = 'PdfWithAnnotations.pdf'
238
+ upload_file(file_name)
239
+
240
+ opts = {
241
+ :folder => @temp_folder
242
+ }
243
+
244
+ response = @pdf_api.get_document_text_annotations(file_name, opts)
245
+ assert(response, 'Failed to read document text annotations.')
246
+ end
247
+
248
+ def test_post_page_text_annotations
249
+ file_name = 'PdfWithAnnotations.pdf'
250
+ upload_file(file_name)
251
+
252
+ opts = {
253
+ :folder => @temp_folder
254
+ }
255
+
256
+ annotation = TextAnnotation.new
257
+ annotation.name = 'Test Free Text'
258
+ annotation.rect = RectanglePdf.new({:LLX => 100, :LLY => 100, :URX => 200, :URY => 200})
259
+ annotation.flags = [AnnotationFlags::DEFAULT]
260
+ annotation.horizontal_alignment = HorizontalAlignment::CENTER
261
+ annotation.rich_text = 'Rich Text'
262
+ annotation.subject = 'Text Box Subj'
263
+ annotation.z_index = 1
264
+ annotation.state = AnnotationState::UNDEFINED
265
+
266
+ response = @pdf_api.post_page_text_annotations(file_name, 1, [annotation], opts)
267
+ assert(response, 'Failed to add text annotations into page.')
268
+ end
269
+
270
+ def test_get_page_text_annotations
271
+ file_name = 'PdfWithAnnotations.pdf'
272
+ upload_file(file_name)
273
+
274
+ page_number = 1
275
+ opts = {
276
+ :folder => @temp_folder
277
+ }
278
+
279
+ response = @pdf_api.get_page_text_annotations(file_name, page_number, opts)
280
+ assert(response, 'Failed to read page text annotations.')
281
+ end
282
+
283
+ def test_get_text_annotation
284
+ file_name = 'PdfWithAnnotations.pdf'
285
+ upload_file(file_name)
286
+
287
+ opts = {
288
+ :folder => @temp_folder
289
+ }
290
+
291
+ annotations_response = @pdf_api.get_document_text_annotations(file_name, opts)
292
+ assert(annotations_response, 'Failed to read document text annotations.')
293
+ annotation_id = annotations_response[0].annotations.list[0].id
294
+
295
+ response = @pdf_api.get_text_annotation(file_name, annotation_id, opts)
296
+ assert(response, 'Failed to read page text annotations.')
297
+ end
298
+
299
+ def test_put_text_annotation
300
+ file_name = 'PdfWithAnnotations.pdf'
301
+ upload_file(file_name)
302
+
303
+ opts = {
304
+ :folder => @temp_folder
305
+ }
306
+
307
+ annotation = TextAnnotation.new
308
+ annotation.name = 'Test Free Text'
309
+ annotation.rect = RectanglePdf.new({:LLX => 100, :LLY => 100, :URX => 200, :URY => 200})
310
+ annotation.flags = [AnnotationFlags::DEFAULT]
311
+ annotation.horizontal_alignment = HorizontalAlignment::CENTER
312
+ annotation.rich_text = 'Rich Text'
313
+ annotation.subject = 'Text Box Subj'
314
+ annotation.z_index = 1
315
+ annotation.state = AnnotationState::UNDEFINED
316
+
317
+ annotations_response = @pdf_api.get_document_text_annotations(file_name, opts)
318
+ assert(annotations_response, 'Failed to read document text annotations.')
319
+ annotation_id = annotations_response[0].annotations.list[0].id
320
+
321
+ response = @pdf_api.put_text_annotation(file_name, annotation_id, annotation, opts)
322
+ assert(response, 'Failed to replace text annotation.')
323
+ end
324
+
70
325
 
71
326
  # Append Tests
72
327
 
@@ -169,2220 +424,2136 @@ class PdfTests < Minitest::Test
169
424
  end
170
425
 
171
426
 
172
- # Document Save As Tiff Tests
427
+ # Convert Tests
173
428
 
174
- def test_put_document_save_as_tiff_using_query_params
429
+ def test_get_pdf_in_storage_to_doc
175
430
  file_name = '4pages.pdf'
176
431
  upload_file(file_name)
177
432
 
178
433
  opts = {
179
- :result_file => '4pages.tiff',
180
- :brightness => 0.6,
181
- :compression => CompressionType::CCITT4,
182
- :color_depth => ColorDepth::FORMAT1BPP,
183
- :left_margin => 0,
184
- :right_margin => 0,
185
- :top_margin => 0,
186
- :bottom_margin => 0,
187
- :orientation => ShapeType::PORTRAIT,
188
- :skip_blank_pages => true,
189
- :width => 1200,
190
- :height => 1600,
191
- :x_resolution => 200,
192
- :y_resolution => 200,
193
- :page_index => 2,
194
- :page_count=> 2,
195
434
  :folder => @temp_folder
196
435
  }
197
436
 
198
- response = @pdf_api.put_document_save_as_tiff(file_name, opts)
199
- assert(response, 'Failed to save document as Tiff image')
437
+ response = @pdf_api.get_pdf_in_storage_to_doc(file_name, opts)
438
+ assert(response, 'Filed to convert PDF to DOC.')
200
439
  end
201
440
 
202
-
203
- def test_put_document_save_as_tiff_using_body_params
441
+ def test_put_pdf_in_storage_to_doc
204
442
  file_name = '4pages.pdf'
205
443
  upload_file(file_name)
206
-
207
- export_options = TiffExportOptions.new
208
- export_options.result_file = '4pages.tiff'
209
- export_options.brightness = 0.6
210
- export_options.compression = CompressionType::CCITT4
211
- export_options.color_depth = ColorDepth::FORMAT1BPP
212
- export_options.left_margin = 0
213
- export_options.right_margin = 0
214
- export_options.top_margin = 0
215
- export_options.bottom_margin = 0
216
- export_options.orientation = ShapeType::PORTRAIT
217
- export_options.skip_blank_pages = true
218
- export_options.width = 1200
219
- export_options.height = 1600
220
- export_options.x_resolution = 200
221
- export_options.y_resolution = 200
222
- export_options.page_index = 2
223
- export_options.page_count = 2
444
+ res_file = 'result.doc'
224
445
 
225
446
  opts = {
226
- :export_options => export_options,
227
447
  :folder => @temp_folder
228
448
  }
229
-
230
- response = @pdf_api.put_document_save_as_tiff(file_name, opts)
231
- assert(response, 'Failed to save document as Tiff image')
449
+ response = @pdf_api.put_pdf_in_storage_to_doc(file_name, @temp_folder + '/' + res_file, opts)
450
+ assert(response, 'Filed to convert PDF to DOC.')
232
451
  end
233
452
 
234
-
235
- # Document Tests
236
-
237
- def test_get_document
453
+ def test_put_pdf_in_request_to_doc
238
454
  file_name = '4pages.pdf'
239
- upload_file(file_name)
455
+
456
+ res_file = 'result.doc'
240
457
 
241
458
  opts = {
242
- :folder => @temp_folder
459
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
460
+ # :file => @test_data_folder + file_name
243
461
  }
244
-
245
- response = @pdf_api.get_document(file_name, opts)
246
- assert(response, 'Failed to read common document info.')
462
+ response = @pdf_api.put_pdf_in_request_to_tiff(@temp_folder + '/' + res_file, opts)
463
+ assert(response, 'Filed to convert PDF to DOC.')
247
464
  end
248
465
 
249
-
250
- def test_post_optimize_document
466
+ def test_get_pdf_in_storage_to_pdf_a
251
467
  file_name = '4pages.pdf'
252
468
  upload_file(file_name)
253
469
 
254
- optimize_options = OptimizeOptions.new
255
- optimize_options.allow_reuse_page_content = false
256
- optimize_options.compress_images = true
257
- optimize_options.image_quality = 100
258
- optimize_options.link_duplcate_streams = true
259
- optimize_options.remove_unused_objects = true
260
- optimize_options.remove_unused_streams = true
261
- optimize_options.unembed_fonts = true
262
-
263
470
  opts = {
264
- :options => optimize_options,
265
- :folder => @temp_folder
471
+ :folder => @temp_folder
266
472
  }
267
473
 
268
- response = @pdf_api.post_optimize_document(file_name, opts)
269
- assert(response, 'Failed to optimize document.')
474
+ response = @pdf_api.get_pdf_in_storage_to_pdf_a(file_name, PdfAType::PDFA1_A, opts)
475
+ assert(response, 'Filed to convert PDF to PDFA.')
270
476
  end
271
477
 
272
-
273
- def test_post_split_document
478
+ def test_put_pdf_in_storage_to_pdf_a
274
479
  file_name = '4pages.pdf'
275
480
  upload_file(file_name)
481
+ res_file = 'result.pdf'
276
482
 
277
483
  opts = {
278
484
  :folder => @temp_folder
279
485
  }
280
- response = @pdf_api.post_split_document(file_name, opts)
281
- assert(response, 'Failed to split document to parts.')
486
+ response = @pdf_api.put_pdf_in_storage_to_pdf_a(file_name, @temp_folder + '/' + res_file, PdfAType::PDFA1_A, opts)
487
+ assert(response, 'Filed to convert PDF to PDFA.')
282
488
  end
283
489
 
490
+ def test_put_pdf_in_request_to_pdf_a
491
+ file_name = '4pages.pdf'
284
492
 
285
- def test_put_convert_document
286
- url = 'http://pdf995.com/samples/pdf.pdf'
287
- format = 'tiff'
493
+ res_file = 'result.pdf'
288
494
 
289
495
  opts = {
290
- :format => format,
291
- :url => url
496
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
292
497
  }
293
-
294
- response = @pdf_api.put_convert_document(opts)
295
- assert(response, 'Failed to convert document from request content to format specified')
498
+ response = @pdf_api.put_pdf_in_request_to_pdf_a(@temp_folder + '/' + res_file, PdfAType::PDFA1_A, opts)
499
+ assert(response, 'Filed to convert PDF to PDFA.')
296
500
  end
297
501
 
298
-
299
- def test_put_create_empty_document
300
- file_name = 'empty.pdf'
502
+ def test_get_pdf_in_storage_to_tiff
503
+ file_name = '4pages.pdf'
504
+ upload_file(file_name)
301
505
 
302
506
  opts = {
303
507
  :folder => @temp_folder
304
508
  }
305
509
 
306
- response = @pdf_api.put_create_document(file_name, opts)
307
- assert(response, 'Failed to create new document')
510
+ response = @pdf_api.get_pdf_in_storage_to_tiff(file_name, opts)
511
+ assert(response, 'Filed to convert PDF to Tiff.')
308
512
  end
309
513
 
310
-
311
- def test_put_create_document
312
- file_name = 'HtmlExample1.pdf'
313
- template_name = 'HtmlExample1.html'
314
-
315
- upload_file(template_name)
514
+ def test_put_pdf_in_storage_to_tiff
515
+ file_name = '4pages.pdf'
516
+ upload_file(file_name)
517
+ res_file = 'result.tiff'
316
518
 
317
519
  opts = {
318
- :template_file => @temp_folder + '/' + template_name,
319
- :template_type => 'html',
320
520
  :folder => @temp_folder
321
521
  }
322
-
323
- response = @pdf_api.put_create_document(file_name, opts)
324
- assert(response, 'Failed to create document from HTML template.')
522
+ response = @pdf_api.put_pdf_in_storage_to_tiff(file_name, @temp_folder + '/' + res_file, opts)
523
+ assert(response, 'Filed to convert PDF to Tiff.')
325
524
  end
326
525
 
526
+ def test_put_pdf_in_request_to_tiff
527
+ file_name = '4pages.pdf'
327
528
 
328
- def test_put_create_document_from_images
329
- image_1 = '33539.jpg'
330
- upload_file(image_1)
331
-
332
- image_2 = '44781.jpg'
333
- upload_file(image_2)
334
-
335
- result_doc_name = 'pdffromimagesinquery.pdf'
336
-
337
- images = ImagesListRequest.new
338
- images.images_list = [ @temp_folder + '/' + image_1, @temp_folder + '/' + image_2]
529
+ res_file = 'result.pdf'
339
530
 
340
531
  opts = {
341
- :images => images,
342
- :ocr => false,
343
- :folder => @temp_folder
532
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
344
533
  }
345
-
346
- response = @pdf_api.put_create_document_from_images(result_doc_name, opts)
347
- assert(response, 'Failed to create document from Images.')
534
+ response = @pdf_api.put_pdf_in_request_to_tiff(@temp_folder + '/' + res_file, opts)
535
+ assert(response, 'Filed to convert PDF to Tiff.')
348
536
  end
349
537
 
350
- # Fields Tests
351
-
352
- def test_get_field
353
- file_name = 'PdfWithAcroForm.pdf'
538
+ def test_get_pdf_in_storage_to_svg
539
+ file_name = '4pages.pdf'
354
540
  upload_file(file_name)
355
541
 
356
542
  opts = {
357
543
  :folder => @temp_folder
358
544
  }
359
- field_name = 'textField'
360
545
 
361
- response = @pdf_api.get_field(file_name, field_name, opts)
362
- assert(response, 'Failed to get document field by name.')
546
+ response = @pdf_api.get_pdf_in_storage_to_svg(file_name, opts)
547
+ assert(response, 'Filed to convert PDF to SVG.')
363
548
  end
364
549
 
365
-
366
- def test_get_fields
367
- file_name = 'PdfWithAcroForm.pdf'
550
+ def test_put_pdf_in_storage_to_svg
551
+ file_name = '4pages.pdf'
368
552
  upload_file(file_name)
553
+ res_file = 'result.svg'
369
554
 
370
555
  opts = {
371
556
  :folder => @temp_folder
372
557
  }
373
-
374
- response = @pdf_api.get_fields(file_name, opts)
375
- assert(response, 'Failed to get document fields.')
558
+ response = @pdf_api.put_pdf_in_storage_to_svg(file_name, @temp_folder + '/' + res_file, opts)
559
+ assert(response, 'Filed to convert PDF to SVG.')
376
560
  end
377
561
 
562
+ def test_put_pdf_in_request_to_svg
563
+ file_name = '4pages.pdf'
378
564
 
379
- def test_post_create_field
380
- file_name = 'Hello_world.pdf'
381
- upload_file(file_name)
382
-
383
- rect = Rectangle.new
384
- rect.x = 50
385
- rect.y = 200
386
- rect.width = 150
387
- rect.height = 200
388
-
389
- field = Field.new
390
- field.name = 'checkboxfield'
391
- field.values = ['1']
392
- field.type = 'Boolean'
393
- field.rect = rect
394
-
395
- page_number = 1
565
+ res_file = 'result.svg'
396
566
 
397
567
  opts = {
398
- :field => field,
399
- :folder => @temp_folder
568
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
400
569
  }
401
-
402
- response = @pdf_api.post_create_field(file_name, page_number, opts)
403
- assert(response, 'Failed to create field.')
570
+ response = @pdf_api.put_pdf_in_request_to_svg(@temp_folder + '/' + res_file, opts)
571
+ assert(response, 'Filed to convert PDF to SVG.')
404
572
  end
405
573
 
406
-
407
- def test_put_update_field
408
- file_name = 'PdfWithAcroForm.pdf'
574
+ def test_get_pdf_in_storage_to_xps
575
+ file_name = '4pages.pdf'
409
576
  upload_file(file_name)
410
577
 
411
- field_name = 'textField'
412
-
413
- field = Field.new
414
- field.name = field_name
415
- field.values = ['Text field updated value.']
416
- field.type = FieldType::TEXT
417
-
418
578
  opts = {
419
- :field => field,
420
579
  :folder => @temp_folder
421
580
  }
422
581
 
423
- response = @pdf_api.put_update_field(file_name, field_name, opts)
424
- assert(response, 'Failed to update fields.')
582
+ response = @pdf_api.get_pdf_in_storage_to_xps(file_name, opts)
583
+ assert(response, 'Filed to convert PDF to XPS.')
425
584
  end
426
585
 
427
-
428
- def test_delete_field
429
- file_name = 'PdfWithAcroForm.pdf'
586
+ def test_put_pdf_in_storage_to_xps
587
+ file_name = '4pages.pdf'
430
588
  upload_file(file_name)
431
-
432
- field_name = 'textField'
589
+ res_file = 'result.xps'
433
590
 
434
591
  opts = {
435
592
  :folder => @temp_folder
436
593
  }
437
-
438
- response = @pdf_api.delete_field(file_name, field_name, opts)
439
- assert(response, 'Failed to delete fields.')
594
+ response = @pdf_api.put_pdf_in_storage_to_xps(file_name, @temp_folder + '/' + res_file, opts)
595
+ assert(response, 'Filed to convert PDF to XPS.')
440
596
  end
441
597
 
598
+ def test_put_pdf_in_request_to_xps
599
+ file_name = '4pages.pdf'
442
600
 
443
- def test_put_fields_flatten
444
- file_name = 'PdfWithAcroForm.pdf'
445
- upload_file(file_name)
601
+ res_file = 'result.xps'
446
602
 
447
603
  opts = {
448
- :folder => @temp_folder
604
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
449
605
  }
450
-
451
- response = @pdf_api.put_fields_flatten(file_name, opts)
452
- assert(response, 'Failed to make fields flatten.')
606
+ response = @pdf_api.put_pdf_in_request_to_xps(@temp_folder + '/' + res_file, opts)
607
+ assert(response, 'Filed to convert PDF to XPS.')
453
608
  end
454
609
 
455
-
456
- # Fragments And Segments Tests
457
-
458
- def test_get_fragment
610
+ def test_get_pdf_in_storage_to_xls
459
611
  file_name = '4pages.pdf'
460
612
  upload_file(file_name)
461
613
 
462
- page_number = 1
463
- fragment_number = 1
464
-
465
614
  opts = {
466
615
  :folder => @temp_folder
467
616
  }
468
617
 
469
- response = @pdf_api.get_fragment(file_name, page_number, fragment_number, opts)
470
- assert(response, 'Failed to read page fragment.')
618
+ response = @pdf_api.get_pdf_in_storage_to_xls(file_name, opts)
619
+ assert(response, 'Filed to convert PDF to XLS.')
471
620
  end
472
621
 
473
- def test_get_fragment_text_format
622
+ def test_put_pdf_in_storage_to_xls
474
623
  file_name = '4pages.pdf'
475
624
  upload_file(file_name)
476
-
477
- page_number = 1
478
- fragment_number = 1
625
+ res_file = 'result.xls'
479
626
 
480
627
  opts = {
481
628
  :folder => @temp_folder
482
629
  }
483
-
484
- response = @pdf_api.get_fragment_text_format(file_name, page_number, fragment_number, opts)
485
- assert(response, 'Failed to read page fragment text format.')
630
+ response = @pdf_api.put_pdf_in_storage_to_xls(file_name, @temp_folder + '/' + res_file, opts)
631
+ assert(response, 'Filed to convert PDF to XLS.')
486
632
  end
487
633
 
488
-
489
- def test_get_fragments
634
+ def test_put_pdf_in_request_to_xls
490
635
  file_name = '4pages.pdf'
491
- upload_file(file_name)
492
636
 
493
- page_number = 1
637
+ res_file = 'result.xls'
494
638
 
495
639
  opts = {
496
- :folder => @temp_folder
640
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
497
641
  }
498
- response = @pdf_api.get_fragments(file_name, page_number, opts)
499
- assert(response, 'Failed to read page fragments.')
642
+ response = @pdf_api.put_pdf_in_request_to_xls(@temp_folder + '/' + res_file, opts)
643
+ assert(response, 'Filed to convert PDF to XLS.')
500
644
  end
501
645
 
502
-
503
- def test_get_segment
646
+ def test_get_pdf_in_storage_to_html
504
647
  file_name = '4pages.pdf'
505
648
  upload_file(file_name)
506
649
 
507
- page_number = 1
508
- fragment_number = 1
509
- segment_number = 1
510
-
511
650
  opts = {
512
651
  :folder => @temp_folder
513
652
  }
514
653
 
515
- response = @pdf_api.get_segment(file_name, page_number, fragment_number, segment_number, opts)
516
- assert(response, 'Failed to read segment.')
654
+ response = @pdf_api.get_pdf_in_storage_to_html(file_name, opts)
655
+ assert(response, 'Filed to convert PDF to HTML.')
517
656
  end
518
657
 
519
-
520
- def test_get_segment_text_format
658
+ def test_put_pdf_in_storage_to_html
521
659
  file_name = '4pages.pdf'
522
660
  upload_file(file_name)
523
-
524
- page_number = 1
525
- fragment_number = 1
526
- segment_number = 1
661
+ res_file = 'result.zip'
527
662
 
528
663
  opts = {
529
664
  :folder => @temp_folder
530
665
  }
531
-
532
- response = @pdf_api.get_segment_text_format(file_name, page_number, fragment_number, segment_number, opts)
533
- assert(response, 'Failed to read segment text format.')
666
+ response = @pdf_api.put_pdf_in_storage_to_html(file_name, @temp_folder + '/' + res_file, opts)
667
+ assert(response, 'Filed to convert PDF to HTML.')
534
668
  end
535
669
 
536
-
537
- def test_get_segments
670
+ def test_put_pdf_in_request_to_html
538
671
  file_name = '4pages.pdf'
539
- upload_file(file_name)
540
672
 
541
- page_number = 1
542
- fragment_number = 1
673
+ res_file = 'result.zip'
543
674
 
544
675
  opts = {
545
- :folder => @temp_folder
676
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
546
677
  }
547
-
548
- response = @pdf_api.get_segments(file_name, page_number, fragment_number, opts)
549
- assert(response, 'Failed to read fragment segments.')
678
+ response = @pdf_api.put_pdf_in_request_to_html(@temp_folder + '/' + res_file, opts)
679
+ assert(response, 'Filed to convert PDF to HTML.')
550
680
  end
551
681
 
552
-
553
- # Images Tests
554
-
555
- def test_get_image
556
- file_name = 'PdfWithImages2.pdf'
682
+ def test_get_pdf_in_storage_to_epub
683
+ file_name = '4pages.pdf'
557
684
  upload_file(file_name)
558
685
 
559
- page_number = 1
560
- image_number = 1
561
686
  opts = {
562
687
  :folder => @temp_folder
563
688
  }
564
689
 
565
- response = @pdf_api.get_image(file_name, page_number, image_number, opts)
566
- assert(response, 'Failed to read document image by number.')
690
+ response = @pdf_api.get_pdf_in_storage_to_epub(file_name, opts)
691
+ assert(response, 'Filed to convert PDF to EPUB.')
567
692
  end
568
693
 
569
- def test_get_image_with_format
570
- file_name = 'PdfWithImages2.pdf'
694
+ def test_put_pdf_in_storage_to_epub
695
+ file_name = '4pages.pdf'
571
696
  upload_file(file_name)
697
+ res_file = 'result.epub'
572
698
 
573
- page_number = 1
574
- image_number = 1
575
699
  opts = {
576
- :format => 'jpeg',
577
- :height => 100,
578
- :width => 100,
579
700
  :folder => @temp_folder
580
701
  }
581
-
582
- response = @pdf_api.get_image(file_name, page_number, image_number, opts)
583
- assert(response, 'Failed to read document image by number.')
702
+ response = @pdf_api.put_pdf_in_storage_to_epub(file_name, @temp_folder + '/' + res_file, opts)
703
+ assert(response, 'Filed to convert PDF to EPUB.')
584
704
  end
585
705
 
586
- def test_get_images
587
- file_name = 'PdfWithImages2.pdf'
588
- upload_file(file_name)
706
+ def test_put_pdf_in_request_to_epub
707
+ file_name = '4pages.pdf'
708
+
709
+ res_file = 'result.epub'
589
710
 
590
- page_number = 1
591
711
  opts = {
592
- :folder => @temp_folder
712
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
593
713
  }
594
-
595
- response = @pdf_api.get_images(file_name, page_number, opts)
596
- assert(response, 'Failed to read document images.')
714
+ response = @pdf_api.put_pdf_in_request_to_epub(@temp_folder + '/' + res_file, opts)
715
+ assert(response, 'Filed to convert PDF to EPUB.')
597
716
  end
598
717
 
599
-
600
- def test_post_replace_image
601
- file_name = 'PdfWithImages2.pdf'
718
+ def test_get_pdf_in_storage_to_pptx
719
+ file_name = '4pages.pdf'
602
720
  upload_file(file_name)
603
721
 
604
- image_file_name = 'Koala.jpg'
605
- upload_file(image_file_name)
606
-
607
- page_number = 1
608
- image_number = 1
609
722
  opts = {
610
- :image_file => @temp_folder + '/' + image_file_name,
611
723
  :folder => @temp_folder
612
724
  }
613
725
 
614
- response = @pdf_api.post_replace_image(file_name, page_number, image_number, opts)
615
- assert(response, 'Failed to replace document image.')
726
+ response = @pdf_api.get_pdf_in_storage_to_pptx(file_name, opts)
727
+ assert(response, 'Filed to convert PDF to PPTX.')
616
728
  end
617
729
 
618
- def test_post_replace_image_from_request
619
- file_name = 'PdfWithImages2.pdf'
730
+ def test_put_pdf_in_storage_to_pptx
731
+ file_name = '4pages.pdf'
620
732
  upload_file(file_name)
733
+ res_file = 'result.pptx'
621
734
 
622
- image_file_name = 'Koala.jpg'
623
- page_number = 1
624
- image_number = 1
625
735
  opts = {
626
- :image => File.open(@test_data_folder + image_file_name, 'r') { |io| io.read(io.size) },
627
736
  :folder => @temp_folder
628
737
  }
629
- response = @pdf_api.post_replace_image(file_name, page_number, image_number, opts)
630
- assert(response, 'Failed to replace document image.')
738
+ response = @pdf_api.put_pdf_in_storage_to_pptx(file_name, @temp_folder + '/' + res_file, opts)
739
+ assert(response, 'Filed to convert PDF to PPTX.')
631
740
  end
632
741
 
633
- def test_put_images_extract_as_jpeg
634
- name = "PdfWithImages2.pdf"
635
- upload_file(name)
636
- page_number = 1
637
742
 
638
- dest_folder = "extract_jpg"
743
+ def test_put_pdf_in_request_to_pptx
744
+ file_name = '4pages.pdf'
745
+
746
+ res_file = 'result.pptx'
747
+
639
748
  opts = {
640
- :dest_folder => @temp_folder + '/' + dest_folder,
641
- :folder => @temp_folder
749
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
642
750
  }
643
- response = @pdf_api.put_images_extract_as_jpeg(name, page_number, opts)
644
- assert(response, 'Failed to extract images as jpeg.')
751
+ response = @pdf_api.put_pdf_in_request_to_pptx(@temp_folder + '/' + res_file, opts)
752
+ assert(response, 'Filed to convert PDF to PPTX.')
645
753
  end
646
754
 
647
- def test_put_images_extract_as_tiff
648
- name = "PdfWithImages2.pdf"
649
- upload_file(name)
650
- page_number = 1
755
+ def test_get_pdf_in_storage_to_la_te_x
756
+ file_name = '4pages.pdf'
757
+ upload_file(file_name)
651
758
 
652
- dest_folder = "extract_tiff"
653
759
  opts = {
654
- :dest_folder => @temp_folder + '/' + dest_folder,
655
760
  :folder => @temp_folder
656
761
  }
657
- response = @pdf_api.put_images_extract_as_tiff(name, page_number, opts)
658
- assert(response, 'Failed to extract images as tiff.')
762
+
763
+ response = @pdf_api.get_pdf_in_storage_to_la_te_x(file_name, opts)
764
+ assert(response, 'Filed to convert PDF to LaTex.')
659
765
  end
660
766
 
661
- def test_put_images_extract_as_gif
662
- name = "PdfWithImages2.pdf"
663
- upload_file(name)
664
- page_number = 1
767
+ def test_put_pdf_in_storage_to_la_te_x
768
+ file_name = '4pages.pdf'
769
+ upload_file(file_name)
770
+ res_file = 'result.latex'
665
771
 
666
- dest_folder = "extract_gif"
667
772
  opts = {
668
- :dest_folder => @temp_folder + '/' + dest_folder,
669
773
  :folder => @temp_folder
670
774
  }
671
- response = @pdf_api.put_images_extract_as_gif(name, page_number, opts)
672
- assert(response, 'Failed to extract images as gif.')
775
+ response = @pdf_api.put_pdf_in_storage_to_la_te_x(file_name, @temp_folder + '/' + res_file, opts)
776
+ assert(response, 'Filed to convert PDF to LaTeX.')
673
777
  end
674
778
 
675
- def test_put_images_extract_as_png
676
- name = "PdfWithImages2.pdf"
677
- upload_file(name)
678
- page_number = 1
679
779
 
680
- dest_folder = "extract_png"
780
+ def test_put_pdf_in_request_to_la_te_x
781
+ file_name = '4pages.pdf'
782
+
783
+ res_file = 'result.latex'
784
+
681
785
  opts = {
682
- :dest_folder => @temp_folder + '/' + dest_folder,
683
- :folder => @temp_folder
786
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
684
787
  }
685
- response = @pdf_api.put_images_extract_as_png(name, page_number, opts)
686
- assert(response, 'Failed to extract images as png.')
788
+ response = @pdf_api.put_pdf_in_request_to_la_te_x(@temp_folder + '/' + res_file, opts)
789
+ assert(response, 'Filed to convert PDF to LaTeX.')
687
790
  end
688
791
 
689
- # Links Tests
690
-
691
- def test_get_page_link_annotation_by_index
692
- file_name = 'PdfWithLinks.pdf'
792
+ def test_get_pdf_in_storage_to_mobi_xml
793
+ file_name = '4pages.pdf'
693
794
  upload_file(file_name)
694
795
 
695
- page_number = 1
696
- link_index = 1
697
796
  opts = {
698
797
  :folder => @temp_folder
699
798
  }
700
799
 
701
- response = @pdf_api.get_page_link_annotation_by_index(file_name, page_number, link_index, opts)
702
- assert(response, 'Failed to read document page link annotation by its index.')
800
+ response = @pdf_api.get_pdf_in_storage_to_mobi_xml(file_name, opts)
801
+ assert(response, 'Filed to convert PDF to Moby Xml.')
703
802
  end
704
803
 
705
- def test_get_page_link_annotations
706
- file_name = 'PdfWithLinks.pdf'
804
+ def test_put_pdf_in_storage_to_mobi_xml
805
+ file_name = '4pages.pdf'
707
806
  upload_file(file_name)
807
+ res_file = 'result.mobi'
708
808
 
709
- page_number = 1
710
809
  opts = {
711
810
  :folder => @temp_folder
712
811
  }
713
-
714
- response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
715
- assert(response, 'Failed to read document page link annotations.')
812
+ response = @pdf_api.put_pdf_in_storage_to_mobi_xml(file_name, @temp_folder + '/' + res_file, opts)
813
+ assert(response, 'Filed to convert PDF to Moby Xml.')
716
814
  end
717
815
 
718
816
 
719
- # Merge Tests
817
+ def test_put_pdf_in_request_to_mobi_xml
818
+ file_name = '4pages.pdf'
720
819
 
721
- def test_put_merge_documents
722
- file_name_list = ['4pages.pdf', 'PdfWithImages2.pdf', 'marketing.pdf']
723
- file_name_list.each { |file_name| upload_file(file_name)}
820
+ res_file = 'result.mobi'
724
821
 
725
- result_name = 'MergingResult.pdf'
726
-
727
- file_name_list.collect! {|file_name| @temp_folder + '/' + file_name}
822
+ opts = {
823
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
824
+ }
825
+ response = @pdf_api.put_pdf_in_request_to_mobi_xml(@temp_folder + '/' + res_file, opts)
826
+ assert(response, 'Filed to convert PDF to Moby Xml.')
827
+ end
728
828
 
729
- merge_documents = MergeDocuments.new
730
- merge_documents.list = file_name_list
829
+ def test_get_xfa_pdf_in_storage_to_acro_form
830
+ file_name = 'PdfWithXfaForm.pdf'
831
+ upload_file(file_name)
731
832
 
732
833
  opts = {
733
- :merge_documents => merge_documents,
734
834
  :folder => @temp_folder
735
835
  }
736
836
 
737
- response = @pdf_api.put_merge_documents(result_name, opts)
738
- assert(response, 'Failed to merge a list of documents')
837
+ response = @pdf_api.get_xfa_pdf_in_storage_to_acro_form(file_name, opts)
838
+ assert(response, 'Filed to convert Xfa PDF to Acro form.')
739
839
  end
740
840
 
741
-
742
- # Pages Tests
743
-
744
- def test_delete_page
745
- file_name = '4pages.pdf'
841
+ def test_put_xfa_pdf_in_storage_to_acro_form
842
+ file_name = 'PdfWithXfaForm.pdf'
746
843
  upload_file(file_name)
844
+ res_file = 'result.pdf'
747
845
 
748
- page_number = 1
749
846
  opts = {
750
847
  :folder => @temp_folder
751
848
  }
752
-
753
- response = @pdf_api.delete_page(file_name, page_number, opts)
754
- assert(response, 'Failed to delete document page by its number.')
849
+ response = @pdf_api.put_xfa_pdf_in_storage_to_acro_form(file_name, @temp_folder + '/' + res_file, opts)
850
+ assert(response, 'Filed to convert Xfa PDF to Acro form.')
755
851
  end
756
852
 
757
853
 
758
- def test_get_page
759
- file_name = '4pages.pdf'
760
- upload_file(file_name)
854
+ def test_put_xfa_pdf_in_request_to_acro_form
855
+ file_name = 'PdfWithXfaForm.pdf'
856
+
857
+ res_file = 'result.pdf'
761
858
 
762
- page_number = 3
763
859
  opts = {
764
- :folder => @temp_folder
860
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
765
861
  }
766
-
767
- response = @pdf_api.get_page(file_name, page_number, opts)
768
- assert(response, 'Failed to get document page by its number.')
862
+ response = @pdf_api.put_xfa_pdf_in_request_to_acro_form(@temp_folder + '/' + res_file, opts)
863
+ assert(response, 'Filed to convert Xfa PDF to Acro form.')
769
864
  end
770
865
 
771
- def test_get_page_with_format
866
+
867
+ def test_get_pdf_in_storage_to_xml
772
868
  file_name = '4pages.pdf'
773
869
  upload_file(file_name)
774
870
 
775
- page_number = 3
776
871
  opts = {
777
- :format => 'jpeg',
778
- :width => 100,
779
- :height => 100,
780
872
  :folder => @temp_folder
781
873
  }
782
874
 
783
- response = @pdf_api.get_page(file_name, page_number, opts)
784
- assert(response, 'Failed to get document page by its number.')
875
+ response = @pdf_api.get_pdf_in_storage_to_xml(file_name, opts)
876
+ assert(response, 'Filed to convert PDF to Xml.')
785
877
  end
786
878
 
787
- def test_get_pages
879
+ def test_put_pdf_in_storage_to_xml
788
880
  file_name = '4pages.pdf'
789
881
  upload_file(file_name)
882
+ res_file = 'result.xml'
790
883
 
791
884
  opts = {
792
885
  :folder => @temp_folder
793
886
  }
794
-
795
- response = @pdf_api.get_pages(file_name, opts)
796
- assert(response, 'Failed to read document pages info.')
887
+ response = @pdf_api.put_pdf_in_storage_to_xml(file_name, @temp_folder + '/' + res_file, opts)
888
+ assert(response, 'Filed to convert PDF to Xml.')
797
889
  end
798
890
 
799
891
 
800
- def test_get_words_per_page
892
+ def test_put_pdf_in_request_to_xml
801
893
  file_name = '4pages.pdf'
802
- upload_file(file_name)
894
+
895
+ res_file = 'result.xml'
803
896
 
804
897
  opts = {
805
- :folder => @temp_folder
898
+ :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
806
899
  }
807
-
808
- response = @pdf_api.get_words_per_page(file_name, opts)
809
- assert(response, 'Failed to get number of words per document page.')
900
+ response = @pdf_api.put_pdf_in_request_to_xml(@temp_folder + '/' + res_file, opts)
901
+ assert(response, 'Filed to convert PDF to Xml.')
810
902
  end
811
903
 
812
904
 
813
- def test_post_move_page
814
- file_name = '4pages.pdf'
815
- upload_file(file_name)
905
+ # Convert to PDF Tests
816
906
 
817
- opts = {
818
- :folder => @temp_folder
819
- }
820
- page_number = 1
821
- new_index = 1
907
+ def test_get_epub_in_storage_to_pdf
908
+ file_name = '4pages.epub'
909
+ upload_file(file_name)
822
910
 
823
- response = @pdf_api.post_move_page(file_name, page_number, new_index, opts)
824
- assert(response, 'Failed to move page to new position.')
911
+ src_path = @temp_folder + '/' + file_name
912
+ response = @pdf_api.get_epub_in_storage_to_pdf(src_path)
913
+ assert(response, 'Failed to convert epub to pdf.')
825
914
  end
826
915
 
827
-
828
- def test_put_add_new_page
829
- file_name = '4pages.pdf'
916
+ def test_put_epub_in_storage_to_pdf
917
+ file_name = '4pages.epub'
830
918
  upload_file(file_name)
919
+ result_name = 'fromEpub.pdf'
831
920
 
921
+ src_path = @temp_folder + '/' + file_name
832
922
  opts = {
833
- :folder => @temp_folder
923
+ :dst_folder => @temp_folder
834
924
  }
835
-
836
- response = @pdf_api.put_add_new_page(file_name, opts)
837
- assert(response, 'Failed to add new page to end of the document.')
925
+ response = @pdf_api.put_epub_in_storage_to_pdf(result_name, src_path, opts)
926
+ assert(response, 'Failed to convert epub to pdf.')
838
927
  end
839
928
 
840
- def test_put_page_add_stamp
841
- file_name = '4pages.pdf'
842
- upload_file(file_name)
843
-
844
- stamp_file_name = 'Penguins.jpg'
845
- upload_file(stamp_file_name)
929
+ def test_get_web_in_storage_to_pdf
930
+ url = 'http://google.com'
846
931
 
847
- page_number = 1
932
+ response = @pdf_api.get_web_in_storage_to_pdf(url)
933
+ assert(response, 'Failed to convert web page to pdf.')
934
+ end
848
935
 
849
- stamp = Stamp.new
850
- stamp.type = StampType::IMAGE
851
- stamp.file_name = @temp_folder + '/' + stamp_file_name
852
- stamp.background = true
853
- stamp.width = 200
854
- stamp.height = 200
855
- stamp.x_indent = 100
856
- stamp.y_indent = 100
936
+ def test_put_web_in_storage_to_pdf
937
+ url = 'http://google.com'
938
+ result_name = 'fromWeb.pdf'
857
939
 
858
940
  opts = {
859
- :folder => @temp_folder
941
+ :dst_folder => @temp_folder
860
942
  }
861
-
862
- response = @pdf_api.put_page_add_stamp(file_name, page_number, stamp, opts)
863
- assert(response, 'Failed to add page stamp.')
943
+ response = @pdf_api.put_web_in_storage_to_pdf(result_name, url, opts)
944
+ assert(response, 'Failed to convert web page to pdf.')
864
945
  end
865
946
 
866
947
 
867
- # Paragraphs Tests
868
-
869
- def test_put_add_text
870
- file_name = '4pages.pdf'
948
+ def test_get_la_te_x_in_storage_to_pdf
949
+ file_name = 'TexExample.tex'
871
950
  upload_file(file_name)
872
951
 
873
- page_number = 1
874
-
875
- rectangle = Rectangle.new
876
- rectangle.x = 100
877
- rectangle.y = 100
878
- rectangle.width = 200
879
- rectangle.height = 200
880
-
881
- foreground_color = Color.new
882
- foreground_color.a = 0x00
883
- foreground_color.r = 0x00
884
- foreground_color.g = 0xFF
885
- foreground_color.b = 0x00
886
-
887
- background_color = Color.new
888
- background_color.a = 0x00
889
- background_color.r = 0xFF
890
- background_color.g = 0x00
891
- background_color.b = 0x00
892
-
893
- text_state = TextState.new
894
- text_state.font = 'Arial'
895
- text_state.font_size = 10
896
- text_state.foreground_color = foreground_color
897
- text_state.background_color = background_color
898
- text_state.font_style = FontStyles::BOLD
899
-
900
- segment = Segment.new
901
- segment.value = 'segment 1'
902
- segment.text_state = text_state
903
-
904
- text_line = TextLine.new
905
- text_line.horizontal_alignment = TextHorizontalAlignment::RIGHT
906
- text_line.segments = [segment]
952
+ src_path = @temp_folder + '/' + file_name
953
+ response = @pdf_api.get_la_te_x_in_storage_to_pdf(src_path)
954
+ assert(response, 'Failed to convert LaTeX to pdf.')
955
+ end
907
956
 
908
- paragraph = Paragraph.new
909
- paragraph.rectangle = rectangle
910
- paragraph.left_margin = 10
911
- paragraph.right_margin = 10
912
- paragraph.top_margin = 20
913
- paragraph.bottom_margin = 20
914
- paragraph.horizontal_alignment = TextHorizontalAlignment::FULL_JUSTIFY
915
- paragraph.line_spacing = LineSpacing::FONT_SIZE
916
- paragraph.rotation = 10
917
- paragraph.subsequent_lines_indent = 20
918
- paragraph.vertical_alignment = VerticalAlignment::CENTER
919
- paragraph.wrap_mode = WrapMode::BY_WORDS
920
- paragraph.lines = [text_line]
957
+ def test_put_la_te_x_in_storage_to_pdf
958
+ file_name = 'TexExample.tex'
959
+ upload_file(file_name)
960
+ result_name = 'fromTex.pdf'
921
961
 
962
+ src_path = @temp_folder + '/' + file_name
922
963
  opts = {
923
- :paragraph => paragraph,
924
- :folder => @temp_folder
964
+ :dst_folder => @temp_folder
925
965
  }
926
-
927
- response = @pdf_api.put_add_text(file_name, page_number, opts)
928
- assert(response, 'Failed to add text to the page.')
966
+ response = @pdf_api.put_la_te_x_in_storage_to_pdf(result_name, src_path, opts)
967
+ assert(response, 'Failed to convert LaTeX to pdf.')
929
968
  end
930
969
 
970
+ def test_get_mht_in_storage_to_pdf
971
+ file_name = 'MhtExample.mht'
972
+ upload_file(file_name)
931
973
 
932
- # Properties Tests
974
+ src_path = @temp_folder + '/' + file_name
975
+ response = @pdf_api.get_mht_in_storage_to_pdf(src_path)
976
+ assert(response, 'Failed to convert mht to pdf.')
977
+ end
933
978
 
934
- def test_delete_properties
935
- file_name = 'PdfWithAcroForm.pdf'
979
+ def test_put_mht_in_storage_to_pdf
980
+ file_name = 'MhtExample.mht'
936
981
  upload_file(file_name)
982
+ result_name = 'fromMht.pdf'
937
983
 
938
- property_1 = DocumentProperty.new
939
- property_1.name = 'prop1'
940
- property_1.value = 'val1'
941
-
942
- opts_1 = {
943
- :property => property_1,
944
- :folder => @temp_folder
984
+ src_path = @temp_folder + '/' + file_name
985
+ opts = {
986
+ :dst_folder => @temp_folder
945
987
  }
988
+ response = @pdf_api.put_mht_in_storage_to_pdf(result_name, src_path, opts)
989
+ assert(response, 'Failed to convert mht to pdf.')
990
+ end
946
991
 
947
- property_2 = DocumentProperty.new
948
- property_2.name = 'prop2'
949
- property_2.value = 'val2'
950
-
951
- opts_2 = {
952
- :property => property_2,
953
- :folder => @temp_folder
954
- }
955
992
 
956
- @pdf_api.put_set_property(file_name, property_1.name, opts_1)
957
- @pdf_api.put_set_property(file_name, property_2.name, opts_2)
993
+ def test_get_html_in_storage_to_pdf
994
+ file_name = 'HtmlWithImage.zip'
995
+ upload_file(file_name)
958
996
 
997
+ html_file_name = 'HtmlWithImage.html'
959
998
  opts = {
960
- :folder => @temp_folder
999
+ :height => 650,
1000
+ :width => 250
961
1001
  }
962
-
963
- response = @pdf_api.delete_properties(file_name, opts)
964
- assert(response, 'Failed to delete document properties.')
1002
+ src_path = @temp_folder + '/' + file_name
1003
+ response = @pdf_api.get_html_in_storage_to_pdf(src_path, html_file_name, opts)
1004
+ assert(response, 'Failed to convert html to pdf.')
965
1005
  end
966
1006
 
967
-
968
- def test_delete_property
969
- file_name = 'PdfWithAcroForm.pdf'
1007
+ def test_put_html_in_storage_to_pdf
1008
+ file_name = 'HtmlWithImage.zip'
970
1009
  upload_file(file_name)
1010
+ html_file_name = 'HtmlWithImage.html'
971
1011
 
972
- property_1 = DocumentProperty.new
973
- property_1.name = 'prop1'
974
- property_1.value = 'val1'
975
-
976
- opts_1 = {
977
- :property => property_1,
978
- :folder => @temp_folder
979
- }
980
-
981
- @pdf_api.put_set_property(file_name, property_1.name, opts_1)
1012
+ result_name = 'fromMht.pdf'
982
1013
 
1014
+ src_path = @temp_folder + '/' + file_name
983
1015
  opts = {
984
- :folder => @temp_folder
1016
+ :dst_folder => @temp_folder,
1017
+ :height => 650,
1018
+ :width => 250
985
1019
  }
986
-
987
- response = @pdf_api.delete_property(file_name, property_1.name, opts)
988
- assert(response, 'Failed to delete document property.')
1020
+ response = @pdf_api.put_html_in_storage_to_pdf(result_name, src_path, html_file_name, opts)
1021
+ assert(response, 'Failed to convert html to pdf.')
989
1022
  end
990
1023
 
991
-
992
- def test_get_document_properties
993
- file_name = 'PdfWithAcroForm.pdf'
1024
+ def test_get_xsl_fo_in_storage_to_pdf
1025
+ file_name = 'XslfoExample.xslfo'
994
1026
  upload_file(file_name)
995
1027
 
996
- property_1 = DocumentProperty.new
997
- property_1.name = 'prop1'
998
- property_1.value = 'val1'
1028
+ src_path = @temp_folder + '/' + file_name
1029
+ response = @pdf_api.get_xsl_fo_in_storage_to_pdf(src_path)
1030
+ assert(response, 'Failed to convert xslfo to pdf.')
1031
+ end
999
1032
 
1000
- opts_1 = {
1001
- :property => property_1,
1002
- :folder => @temp_folder
1033
+ def test_put_xsl_fo_in_storage_to_pdf
1034
+ file_name = 'XslfoExample.xslfo'
1035
+ upload_file(file_name)
1036
+ result_name = 'fromXslFo.pdf'
1037
+
1038
+ src_path = @temp_folder + '/' + file_name
1039
+ opts = {
1040
+ :dst_folder => @temp_folder
1003
1041
  }
1042
+ response = @pdf_api.put_xsl_fo_in_storage_to_pdf(result_name, src_path, opts)
1043
+ assert(response, 'Failed to convert xslfo to pdf.')
1044
+ end
1004
1045
 
1005
- property_2 = DocumentProperty.new
1006
- property_2.name = 'prop2'
1007
- property_2.value = 'val2'
1008
1046
 
1009
- opts_2 = {
1010
- :property => property_2,
1011
- :folder => @temp_folder
1012
- }
1047
+ def test_get_xps_in_storage_to_pdf
1048
+ file_name = 'Simple.xps'
1049
+ upload_file(file_name)
1050
+
1051
+ src_path = @temp_folder + '/' + file_name
1052
+ response = @pdf_api.get_xps_in_storage_to_pdf(src_path)
1053
+ assert(response, 'Failed to convert xps to pdf.')
1054
+ end
1013
1055
 
1014
- @pdf_api.put_set_property(file_name, property_1.name, opts_1)
1015
- @pdf_api.put_set_property(file_name, property_2.name, opts_2)
1056
+ def test_put_xps_in_storage_to_pdf
1057
+ file_name = 'Simple.xps'
1058
+ upload_file(file_name)
1059
+ result_name = 'fromXps.pdf'
1016
1060
 
1061
+ src_path = @temp_folder + '/' + file_name
1017
1062
  opts = {
1018
- :folder => @temp_folder
1063
+ :dst_folder => @temp_folder
1019
1064
  }
1020
-
1021
- response = @pdf_api.get_document_properties(file_name, opts)
1022
- assert(response, 'Failed to read document properties')
1065
+ response = @pdf_api.put_xps_in_storage_to_pdf(result_name, src_path, opts)
1066
+ assert(response, 'Failed to convert xps to pdf.')
1023
1067
  end
1024
1068
 
1025
1069
 
1026
- def test_get_document_property
1027
- file_name = 'PdfWithAcroForm.pdf'
1070
+ def test_get_svg_in_storage_to_pdf
1071
+ file_name = 'Simple.svg'
1028
1072
  upload_file(file_name)
1029
1073
 
1030
- property_1 = DocumentProperty.new
1031
- property_1.name = 'prop1'
1032
- property_1.value = 'val1'
1033
-
1034
- opts_1 = {
1035
- :property => property_1,
1036
- :folder => @temp_folder
1037
- }
1074
+ src_path = @temp_folder + '/' + file_name
1075
+ response = @pdf_api.get_svg_in_storage_to_pdf(src_path)
1076
+ assert(response, 'Failed to convert svg to pdf.')
1077
+ end
1038
1078
 
1039
- @pdf_api.put_set_property(file_name, property_1.name, opts_1)
1079
+ def test_put_svg_in_storage_to_pdf
1080
+ file_name = 'Simple.svg'
1081
+ upload_file(file_name)
1082
+ result_name = 'fromSvg.pdf'
1040
1083
 
1084
+ src_path = @temp_folder + '/' + file_name
1041
1085
  opts = {
1042
- :folder => @temp_folder
1086
+ :dst_folder => @temp_folder
1043
1087
  }
1044
-
1045
- response = @pdf_api.get_document_property(file_name, property_1.name, opts)
1046
- assert(response, 'Failed to read document property by name.')
1088
+ response = @pdf_api.put_svg_in_storage_to_pdf(result_name, src_path, opts)
1089
+ assert(response, 'Failed to convert svg to pdf.')
1047
1090
  end
1048
1091
 
1049
-
1050
- def test_put_set_property
1051
- file_name = 'PdfWithAcroForm.pdf'
1092
+ def test_get_pcl_in_storage_to_pdf
1093
+ file_name = 'template.pcl'
1052
1094
  upload_file(file_name)
1053
1095
 
1054
- property_1 = DocumentProperty.new
1055
- property_1.name = 'prop1'
1056
- property_1.value = 'val1'
1096
+ src_path = @temp_folder + '/' + file_name
1097
+ response = @pdf_api.get_pcl_in_storage_to_pdf(src_path)
1098
+ assert(response, 'Failed to convert pcl to pdf.')
1099
+ end
1057
1100
 
1058
- opts_1 = {
1059
- :property => property_1,
1060
- :folder => @temp_folder
1061
- }
1101
+ def test_put_pcl_in_storage_to_pdf
1102
+ file_name = 'template.pcl'
1103
+ upload_file(file_name)
1104
+ result_name = 'fromPcl.pdf'
1062
1105
 
1063
- response = @pdf_api.put_set_property(file_name, property_1.name, opts_1)
1064
- assert(response, 'Failed to add/update document property.')
1106
+ src_path = @temp_folder + '/' + file_name
1107
+ opts = {
1108
+ :dst_folder => @temp_folder
1109
+ }
1110
+ response = @pdf_api.put_pcl_in_storage_to_pdf(result_name, src_path, opts)
1111
+ assert(response, 'Failed to convert pcl to pdf.')
1065
1112
  end
1066
1113
 
1067
1114
 
1068
- # Sign Tests
1069
-
1070
- def test_post_sign_document
1071
- file_name = 'BlankWithSignature.pdf'
1115
+ def test_get_xml_in_storage_to_pdf
1116
+ file_name = 'template.xml'
1072
1117
  upload_file(file_name)
1073
1118
 
1074
- signature_file_name = 'test1234.pfx'
1075
- upload_file(signature_file_name)
1076
-
1077
- rectangle = Rectangle.new
1078
- rectangle.x = 100
1079
- rectangle.y = 100
1080
- rectangle.width = 400
1081
- rectangle.height = 100
1119
+ src_path = @temp_folder + '/' + file_name
1120
+ response = @pdf_api.get_xml_in_storage_to_pdf(src_path)
1121
+ assert(response, 'Failed to convert xml to pdf.')
1122
+ end
1082
1123
 
1083
- signature = Signature.new
1084
- signature.authority = 'Sergey Smal'
1085
- signature.contact = 'test@mail.ru'
1086
- signature.date = '08/01/2012 12:15:00.000 PM'
1087
- signature.form_field_name = 'Signature1'
1088
- signature.location = 'Ukraine'
1089
- signature.password = 'test1234'
1090
- signature.rectangle = rectangle
1091
- signature.signature_path = @temp_folder + '/' + signature_file_name
1092
- signature.signature_type = SignatureType::PKCS_7
1093
- signature.visible = true
1124
+ def test_put_xml_in_storage_to_pdf
1125
+ file_name = 'template.xml'
1126
+ upload_file(file_name)
1127
+ result_name = 'fromXml.pdf'
1094
1128
 
1129
+ src_path = @temp_folder + '/' + file_name
1095
1130
  opts = {
1096
- :signature => signature,
1097
- :folder => @temp_folder
1131
+ :dst_folder => @temp_folder
1098
1132
  }
1099
-
1100
- response = @pdf_api.post_sign_document(file_name, opts)
1101
- assert(response, 'Failed to sign document.')
1133
+ response = @pdf_api.put_xml_in_storage_to_pdf(result_name, src_path, opts)
1134
+ assert(response, 'Failed to convert xml to pdf.')
1102
1135
  end
1103
1136
 
1104
- def test_post_sign_page
1105
- file_name = 'BlankWithSignature.pdf'
1137
+ def test_get_ps_in_storage_to_pdf
1138
+ file_name = 'Typography.PS'
1106
1139
  upload_file(file_name)
1107
1140
 
1108
- signature_file_name = 'test1234.pfx'
1109
- upload_file(signature_file_name)
1110
-
1111
- page_number = 1
1112
-
1113
- rectangle = Rectangle.new
1114
- rectangle.x = 100
1115
- rectangle.y = 100
1116
- rectangle.width = 400
1117
- rectangle.height = 100
1141
+ src_path = @temp_folder + '/' + file_name
1142
+ response = @pdf_api.get_ps_in_storage_to_pdf(src_path)
1143
+ assert(response, 'Failed to convert ps to pdf.')
1144
+ end
1118
1145
 
1119
- signature = Signature.new
1120
- signature.authority = 'Sergey Smal'
1121
- signature.contact = 'test@mail.ru'
1122
- signature.date = '08/01/2012 12:15:00.000 PM'
1123
- signature.form_field_name = 'Signature1'
1124
- signature.location = 'Ukraine'
1125
- signature.password = 'test1234'
1126
- signature.rectangle = rectangle
1127
- signature.signature_path = @temp_folder + '/' + signature_file_name
1128
- signature.signature_type = 'PKCS7'
1129
- signature.visible = true
1146
+ def test_put_ps_in_storage_to_pdf
1147
+ file_name = 'Typography.PS'
1148
+ upload_file(file_name)
1149
+ result_name = 'fromPs.pdf'
1130
1150
 
1151
+ src_path = @temp_folder + '/' + file_name
1131
1152
  opts = {
1132
- :signature => signature,
1133
- :folder => @temp_folder
1153
+ :dst_folder => @temp_folder
1134
1154
  }
1135
-
1136
- response = @pdf_api.post_sign_page(file_name, page_number, opts)
1137
- assert(response, 'Failed to sign page.')
1155
+ response = @pdf_api.put_ps_in_storage_to_pdf(result_name, src_path, opts)
1156
+ assert(response, 'Failed to convert ps to pdf.')
1138
1157
  end
1139
1158
 
1159
+ def test_put_image_in_storage_to_pdf
1160
+ data_file_1 = "33539.jpg"
1161
+ upload_file(data_file_1)
1140
1162
 
1141
- def test_get_verify_signature
1142
- file_name = 'BlankWithSignature.pdf'
1143
- upload_file(file_name)
1144
-
1145
- signature_file_name = 'test1234.pfx'
1146
- upload_file(signature_file_name)
1163
+ data_file_2 = "44781.jpg"
1164
+ upload_file(data_file_2)
1147
1165
 
1148
- rectangle = Rectangle.new
1149
- rectangle.x = 100
1150
- rectangle.y = 100
1151
- rectangle.width = 400
1152
- rectangle.height = 100
1166
+ result_name = "result.pdf";
1153
1167
 
1154
- signature = Signature.new
1155
- signature.authority = 'Sergey Smal'
1156
- signature.contact = 'test@mail.ru'
1157
- signature.date = '08/01/2012 12:15:00.000 PM'
1158
- signature.form_field_name = 'Signature1'
1159
- signature.location = 'Ukraine'
1160
- signature.password = 'test1234'
1161
- signature.rectangle = rectangle
1162
- signature.signature_path = @temp_folder + '/' + signature_file_name
1163
- signature.signature_type = SignatureType::PKCS_7
1164
- signature.visible = true
1168
+ image_template_1 = ImageTemplate.new
1169
+ image_template_1.image_path = @temp_folder + '/' + data_file_1
1170
+ image_template_1.image_src_type = ImageSrcType::COMMON
1165
1171
 
1166
- opts = {
1167
- :signature => signature,
1168
- :folder => @temp_folder
1169
- }
1172
+ image_template_2 = ImageTemplate.new
1173
+ image_template_2.image_path = @temp_folder + '/' + data_file_2
1174
+ image_template_2.image_src_type = ImageSrcType::COMMON
1170
1175
 
1171
- response_sign = @pdf_api.post_sign_document(file_name, opts)
1172
- assert(response_sign, 'Failed to sign document.')
1176
+ image_templates_request = ImageTemplatesRequest.new
1177
+ image_templates_request.is_ocr = true
1178
+ image_templates_request.ocr_langs = "eng"
1179
+ image_templates_request.images_list = [image_template_1, image_template_2]
1173
1180
 
1174
1181
  opts = {
1175
- :folder => @temp_folder
1182
+ :dst_folder => @temp_folder
1176
1183
  }
1177
- response = @pdf_api.get_verify_signature(file_name, signature.form_field_name, opts)
1178
- assert(response, 'Failed to verify signature.')
1184
+
1185
+ response = @pdf_api.put_image_in_storage_to_pdf(result_name, image_templates_request, opts)
1186
+ assert(response, 'Failed to convert images to pdf.')
1179
1187
  end
1180
1188
 
1181
1189
 
1182
- # Text Items Tests
1190
+ # Document Tests
1183
1191
 
1184
- def test_get_page_text_items
1192
+ def test_get_document
1185
1193
  file_name = '4pages.pdf'
1186
1194
  upload_file(file_name)
1187
1195
 
1188
- page_number = 1
1189
1196
  opts = {
1190
1197
  :folder => @temp_folder
1191
1198
  }
1192
1199
 
1193
- response = @pdf_api.get_page_text_items(file_name, page_number, opts)
1194
- assert(response, 'Failed to read page text items.')
1200
+ response = @pdf_api.get_document(file_name, opts)
1201
+ assert(response, 'Failed to read common document info.')
1195
1202
  end
1196
1203
 
1197
1204
 
1198
- def test_get_text_items
1205
+ def test_post_optimize_document
1199
1206
  file_name = '4pages.pdf'
1200
1207
  upload_file(file_name)
1201
1208
 
1209
+ optimize_options = OptimizeOptions.new
1210
+ optimize_options.allow_reuse_page_content = false
1211
+ optimize_options.compress_images = true
1212
+ optimize_options.image_quality = 100
1213
+ optimize_options.link_duplcate_streams = true
1214
+ optimize_options.remove_unused_objects = true
1215
+ optimize_options.remove_unused_streams = true
1216
+ optimize_options.unembed_fonts = true
1217
+
1202
1218
  opts = {
1203
- :folder => @temp_folder
1219
+ :options => optimize_options,
1220
+ :folder => @temp_folder
1204
1221
  }
1205
1222
 
1206
- response = @pdf_api.get_text_items(file_name, opts)
1207
- assert(response, 'Failed to read document text items.')
1223
+ response = @pdf_api.post_optimize_document(file_name, opts)
1224
+ assert(response, 'Failed to optimize document.')
1208
1225
  end
1209
1226
 
1210
1227
 
1211
- # Text Replace Tests
1212
-
1213
- def test_post_document_replace_text
1228
+ def test_post_split_document
1214
1229
  file_name = '4pages.pdf'
1215
1230
  upload_file(file_name)
1216
1231
 
1217
- text_replace_request = TextReplaceRequest.new
1218
- text_replace_request.old_value = 'Page'
1219
- text_replace_request.new_value = 'p_a_g_e'
1220
- text_replace_request.regex = false
1221
-
1222
1232
  opts = {
1223
1233
  :folder => @temp_folder
1224
1234
  }
1225
-
1226
- response = @pdf_api.post_document_replace_text(file_name, text_replace_request, opts)
1227
- assert(response, "Failed to replace document's text.")
1235
+ response = @pdf_api.post_split_document(file_name, opts)
1236
+ assert(response, 'Failed to split document to parts.')
1228
1237
  end
1229
1238
 
1239
+ def test_put_create_empty_document
1240
+ file_name = 'empty.pdf'
1230
1241
 
1231
- def test_post_document_replace_text_list
1232
- file_name = '4pages.pdf'
1233
- upload_file(file_name)
1242
+ opts = {
1243
+ :folder => @temp_folder
1244
+ }
1245
+
1246
+ response = @pdf_api.put_create_document(file_name, opts)
1247
+ assert(response, 'Failed to create new document')
1248
+ end
1234
1249
 
1235
- text_replace_request_1 = TextReplaceRequest.new
1236
- text_replace_request_1.old_value = 'First'
1237
- text_replace_request_1.new_value = '1'
1238
- text_replace_request_1.regex = false
1239
1250
 
1240
- text_replace_request_2 = TextReplaceRequest.new
1241
- text_replace_request_2.old_value = 'Page'
1242
- text_replace_request_2.new_value = 'p_a_g_e'
1243
- text_replace_request_2.regex = false
1251
+ # Fields Tests
1244
1252
 
1245
- text_replace_list_request = TextReplaceListRequest.new
1246
- text_replace_list_request.text_replaces = [text_replace_request_1, text_replace_request_2]
1253
+ def test_get_field
1254
+ file_name = 'PdfWithAcroForm.pdf'
1255
+ upload_file(file_name)
1247
1256
 
1248
1257
  opts = {
1249
1258
  :folder => @temp_folder
1250
1259
  }
1260
+ field_name = 'textField'
1251
1261
 
1252
- response = @pdf_api.post_document_replace_text_list(file_name, text_replace_list_request, opts)
1253
- assert(response, "Failed to replace document's text")
1262
+ response = @pdf_api.get_field(file_name, field_name, opts)
1263
+ assert(response, 'Failed to get document field by name.')
1254
1264
  end
1255
1265
 
1256
1266
 
1257
- def test_post_page_replace_text
1258
- file_name = '4pages.pdf'
1267
+ def test_get_fields
1268
+ file_name = 'PdfWithAcroForm.pdf'
1259
1269
  upload_file(file_name)
1260
1270
 
1261
- page_number = 1
1262
-
1263
- text_replace_request = TextReplaceRequest.new
1264
- text_replace_request.old_value = 'Page'
1265
- text_replace_request.new_value = 'p_a_g_e'
1266
- text_replace_request.regex = false
1267
-
1268
1271
  opts = {
1269
1272
  :folder => @temp_folder
1270
1273
  }
1271
1274
 
1272
- response = @pdf_api.post_page_replace_text(file_name, page_number, text_replace_request, opts)
1273
- assert(response, 'Failed to replace text')
1275
+ response = @pdf_api.get_fields(file_name, opts)
1276
+ assert(response, 'Failed to get document fields.')
1274
1277
  end
1275
1278
 
1276
1279
 
1277
- def test_post_page_replace_text_list
1278
- file_name = '4pages.pdf'
1280
+ def test_post_create_field
1281
+ file_name = 'Hello_world.pdf'
1279
1282
  upload_file(file_name)
1280
1283
 
1281
- page_number = 1
1282
-
1283
- text_replace_request_1 = TextReplaceRequest.new
1284
- text_replace_request_1.old_value = 'First'
1285
- text_replace_request_1.new_value = '1'
1286
- text_replace_request_1.regex = false
1284
+ rect = RectanglePdf.new
1285
+ rect.llx = 50
1286
+ rect.lly = 200
1287
+ rect.urx = 200
1288
+ rect.ury = 400
1287
1289
 
1288
- text_replace_request_2 = TextReplaceRequest.new
1289
- text_replace_request_2.old_value = 'Page'
1290
- text_replace_request_2.new_value = 'p_a_g_e'
1291
- text_replace_request_2.regex = false
1290
+ field = Field.new
1291
+ field.name = 'checkboxfield'
1292
+ field.values = ['1']
1293
+ field.type = 'Boolean'
1294
+ field.rect = rect
1292
1295
 
1293
- text_replace_list_request = TextReplaceListRequest.new
1294
- text_replace_list_request.text_replaces = [text_replace_request_1, text_replace_request_2]
1296
+ page_number = 1
1295
1297
 
1296
1298
  opts = {
1299
+ :field => field,
1297
1300
  :folder => @temp_folder
1298
1301
  }
1299
1302
 
1300
- response = @pdf_api.post_page_replace_text_list(file_name, page_number, text_replace_list_request, opts)
1301
- assert(response, 'Failed to replace text')
1303
+ response = @pdf_api.post_create_field(file_name, page_number, opts)
1304
+ assert(response, 'Failed to create field.')
1302
1305
  end
1303
1306
 
1304
1307
 
1305
- # OCR Tests
1306
-
1307
- def test_put_searchable_document
1308
- file_name = 'rusdoc.pdf'
1308
+ def test_put_update_field
1309
+ file_name = 'PdfWithAcroForm.pdf'
1309
1310
  upload_file(file_name)
1310
1311
 
1312
+ field_name = 'textField'
1313
+
1314
+ field = Field.new
1315
+ field.name = field_name
1316
+ field.values = ['Text field updated value.']
1317
+ field.type = FieldType::TEXT
1318
+
1311
1319
  opts = {
1312
- :lang => 'rus,eng',
1320
+ :field => field,
1313
1321
  :folder => @temp_folder
1314
1322
  }
1315
1323
 
1316
- response = @pdf_api.put_searchable_document(file_name, opts)
1317
- assert(response, 'Filed to make document searchable')
1324
+ response = @pdf_api.put_update_field(file_name, field_name, opts)
1325
+ assert(response, 'Failed to update fields.')
1318
1326
  end
1319
1327
 
1320
-
1321
- def test_put_searchable_document_with_default_lang
1322
- file_name = 'rusdoc.pdf'
1328
+ def test_put_update_fields
1329
+ file_name = 'PdfWithAcroForm.pdf'
1323
1330
  upload_file(file_name)
1324
1331
 
1325
- opts = {
1326
- :folder => @temp_folder
1327
- }
1332
+ field_name = 'textField'
1328
1333
 
1329
- response = @pdf_api.put_searchable_document(file_name, opts)
1330
- assert(response, 'Filed to make document searchable.')
1331
- end
1332
1334
 
1333
1335
 
1334
- # Text Tests
1336
+ field = Field.new
1337
+ field.name = field_name
1338
+ field.values = ['Text field updated value.']
1339
+ field.type = FieldType::TEXT
1335
1340
 
1336
- def test_get_text
1337
- file_name = '4pages.pdf'
1338
- upload_file(file_name)
1341
+ fields = Fields.new
1342
+ fields.list = [field]
1339
1343
 
1340
- x = 0
1341
- y = 0
1342
- width = 0
1343
- height = 0
1344
1344
  opts = {
1345
+ :fields => fields,
1345
1346
  :folder => @temp_folder
1346
1347
  }
1347
1348
 
1348
- response = @pdf_api.get_text(file_name, x, y, width, height, opts)
1349
- assert(response, 'Filed to get document text.')
1349
+ response = @pdf_api.put_update_fields(file_name, opts)
1350
+ assert(response, 'Failed to update fields.')
1350
1351
  end
1351
1352
 
1352
- def test_get_page_text_by_two_text_on_page
1353
- file_name = '4pages.pdf'
1353
+ def test_delete_field
1354
+ file_name = 'PdfWithAcroForm.pdf'
1354
1355
  upload_file(file_name)
1355
1356
 
1356
- page_number = 1
1357
- x = 0
1358
- y = 0
1359
- width = 0
1360
- height = 0
1357
+ field_name = 'textField'
1358
+
1361
1359
  opts = {
1362
- :format => ['First Page', 'Second Page'],
1363
- # :format => 'First Page',
1364
1360
  :folder => @temp_folder
1365
1361
  }
1366
1362
 
1367
- response = @pdf_api.get_page_text(file_name, page_number, x, y, width, height, opts)
1368
- assert(response, 'Filed to get document text.')
1363
+ response = @pdf_api.delete_field(file_name, field_name, opts)
1364
+ assert(response, 'Failed to delete fields.')
1369
1365
  end
1370
1366
 
1371
1367
 
1372
- # Text Replace Tests
1373
-
1374
- def test_post_document_text_replace_whole_doc_by_rect
1375
- file_name = '4pages.pdf'
1368
+ def test_put_fields_flatten
1369
+ file_name = 'PdfWithAcroForm.pdf'
1376
1370
  upload_file(file_name)
1377
1371
 
1378
- rect = Rectangle.new
1379
- rect.x = 100
1380
- rect.y = 700
1381
- rect.width = 300
1382
- rect.height = 300
1383
-
1384
- text_replace = TextReplace.new
1385
- text_replace.old_value = 'Page'
1386
- text_replace.new_value = 'p_a_g_e'
1387
- text_replace.rect = rect
1388
-
1389
- text_replace_list = TextReplaceListRequest.new
1390
- text_replace_list.text_replaces = [text_replace]
1391
- text_replace_list.start_index = 0
1392
- text_replace_list.count_replace = 0
1393
-
1394
-
1395
1372
  opts = {
1396
1373
  :folder => @temp_folder
1397
1374
  }
1398
1375
 
1399
- response = @pdf_api.post_document_text_replace(file_name, text_replace_list, opts)
1400
- assert(response, 'Filed to replace document text by rect.')
1376
+ response = @pdf_api.put_fields_flatten(file_name, opts)
1377
+ assert(response, 'Failed to make fields flatten.')
1401
1378
  end
1402
1379
 
1403
1380
 
1404
- def test_post_page_text_replace_by_rect
1405
- file_name = '4pages.pdf'
1406
- upload_file(file_name)
1407
- page_number = 1
1408
-
1409
- rect = Rectangle.new
1410
- rect.x = 100
1411
- rect.y = 700
1412
- rect.width = 300
1413
- rect.height = 300
1414
-
1415
- text_replace = TextReplace.new
1416
- text_replace.old_value = 'Page'
1417
- text_replace.new_value = 'p_a_g_e'
1418
- text_replace.rect = rect
1381
+ # Images Tests
1419
1382
 
1420
- text_replace_list = TextReplaceListRequest.new
1421
- text_replace_list.text_replaces = [text_replace]
1422
- text_replace_list.start_index = 0
1423
- text_replace_list.count_replace = 0
1383
+ def test_get_image
1384
+ file_name = 'PdfWithImages2.pdf'
1385
+ upload_file(file_name)
1424
1386
 
1425
1387
  opts = {
1426
1388
  :folder => @temp_folder
1427
1389
  }
1428
1390
 
1429
- response = @pdf_api.post_page_text_replace(file_name, page_number, text_replace_list, opts)
1430
- assert(response, 'Filed to replace page text by rect.')
1431
- end
1391
+ page_number = 1
1392
+ responseImages = @pdf_api.get_images(file_name, page_number, opts)
1393
+ assert(responseImages, 'Failed to read document images.')
1394
+ image_id = responseImages[0].images.list[0].id
1432
1395
 
1433
- # Convert Tests
1434
1396
 
1435
- def test_get_pdf_in_storage_to_doc
1436
- file_name = '4pages.pdf'
1397
+
1398
+ response = @pdf_api.get_image(file_name, image_id, opts)
1399
+ assert(response, 'Failed to read document image by image id.')
1400
+ end
1401
+
1402
+ def test_delete_image
1403
+ file_name = 'PdfWithImages2.pdf'
1437
1404
  upload_file(file_name)
1438
1405
 
1439
1406
  opts = {
1440
1407
  :folder => @temp_folder
1441
1408
  }
1442
1409
 
1443
- response = @pdf_api.get_pdf_in_storage_to_doc(file_name, opts)
1444
- assert(response, 'Filed to convert PDF to DOC.')
1410
+ page_number = 1
1411
+ responseImages = @pdf_api.get_images(file_name, page_number, opts)
1412
+ assert(responseImages, 'Failed to read document images.')
1413
+ image_id = responseImages[0].images.list[0].id
1414
+
1415
+ response = @pdf_api.delete_image(file_name, image_id, opts)
1416
+ assert(response, 'Failed to delete document image.')
1445
1417
  end
1446
1418
 
1447
- def test_put_pdf_in_storage_to_doc
1448
- file_name = '4pages.pdf'
1419
+ def test_get_images
1420
+ file_name = 'PdfWithImages2.pdf'
1449
1421
  upload_file(file_name)
1450
- res_file = 'result.doc'
1451
1422
 
1423
+ page_number = 1
1452
1424
  opts = {
1453
1425
  :folder => @temp_folder
1454
1426
  }
1455
- response = @pdf_api.put_pdf_in_storage_to_doc(file_name, @temp_folder + '/' + res_file, opts)
1456
- assert(response, 'Filed to convert PDF to DOC.')
1427
+
1428
+ response = @pdf_api.get_images(file_name, page_number, opts)
1429
+ assert(response, 'Failed to read page images.')
1457
1430
  end
1458
1431
 
1459
- def test_put_pdf_in_request_to_doc
1460
- file_name = '4pages.pdf'
1432
+ def test_put_replace_image
1433
+ file_name = 'PdfWithImages2.pdf'
1434
+ upload_file(file_name)
1461
1435
 
1462
- res_file = 'result.doc'
1436
+ image_file_name = 'Koala.jpg'
1437
+ upload_file(image_file_name)
1463
1438
 
1464
1439
  opts = {
1465
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1466
- # :file => @test_data_folder + file_name
1440
+ :image_file_path => @temp_folder + '/' + image_file_name,
1441
+ :folder => @temp_folder
1467
1442
  }
1468
- response = @pdf_api.put_pdf_in_request_to_tiff(@temp_folder + '/' + res_file, opts)
1469
- assert(response, 'Filed to convert PDF to DOC.')
1443
+
1444
+ page_number = 1
1445
+ responseImages = @pdf_api.get_images(file_name, page_number, opts)
1446
+ assert(responseImages, 'Failed to read document images.')
1447
+ image_id = responseImages[0].images.list[0].id
1448
+
1449
+ response = @pdf_api.put_replace_image(file_name, image_id, opts)
1450
+ assert(response, 'Failed to replace document image.')
1470
1451
  end
1471
1452
 
1472
- def test_get_pdf_in_storage_to_pdf_a
1473
- file_name = '4pages.pdf'
1453
+ def test_post_insert_image
1454
+ file_name = 'PdfWithImages2.pdf'
1474
1455
  upload_file(file_name)
1475
1456
 
1457
+ image_file_name = 'Koala.jpg'
1458
+ upload_file(image_file_name)
1459
+ page_number = 1
1460
+ llx = 10
1461
+ lly = 10
1462
+ urx = 100
1463
+ ury = 100
1464
+
1476
1465
  opts = {
1466
+ :image_file_path => @temp_folder + '/' + image_file_name,
1477
1467
  :folder => @temp_folder
1478
1468
  }
1479
1469
 
1480
- response = @pdf_api.get_pdf_in_storage_to_pdf_a(file_name, PdfAType::PDFA1_A, opts)
1481
- assert(response, 'Filed to convert PDF to PDFA.')
1470
+ response = @pdf_api.post_insert_image(file_name, page_number, llx, lly, urx, ury, opts)
1471
+ assert(response, 'Failed to replace document image.')
1482
1472
  end
1483
1473
 
1484
- def test_put_pdf_in_storage_to_pdf_a
1485
- file_name = '4pages.pdf'
1486
- upload_file(file_name)
1487
- res_file = 'result.pdf'
1474
+ def test_put_images_extract_as_jpeg
1475
+ name = "PdfWithImages2.pdf"
1476
+ upload_file(name)
1477
+ page_number = 1
1488
1478
 
1479
+ dest_folder = "extract_jpg"
1489
1480
  opts = {
1481
+ :dest_folder => @temp_folder + '/' + dest_folder,
1490
1482
  :folder => @temp_folder
1491
1483
  }
1492
- response = @pdf_api.put_pdf_in_storage_to_pdf_a(file_name, @temp_folder + '/' + res_file, PdfAType::PDFA1_A, opts)
1493
- assert(response, 'Filed to convert PDF to PDFA.')
1484
+ response = @pdf_api.put_images_extract_as_jpeg(name, page_number, opts)
1485
+ assert(response, 'Failed to extract images as jpeg.')
1494
1486
  end
1495
1487
 
1496
- def test_put_pdf_in_request_to_pdf_a
1497
- file_name = '4pages.pdf'
1498
-
1499
- res_file = 'result.pdf'
1488
+ def test_put_images_extract_as_tiff
1489
+ name = "PdfWithImages2.pdf"
1490
+ upload_file(name)
1491
+ page_number = 1
1500
1492
 
1493
+ dest_folder = "extract_tiff"
1501
1494
  opts = {
1502
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1495
+ :dest_folder => @temp_folder + '/' + dest_folder,
1496
+ :folder => @temp_folder
1503
1497
  }
1504
- response = @pdf_api.put_pdf_in_request_to_pdf_a(@temp_folder + '/' + res_file, PdfAType::PDFA1_A, opts)
1505
- assert(response, 'Filed to convert PDF to PDFA.')
1498
+ response = @pdf_api.put_images_extract_as_tiff(name, page_number, opts)
1499
+ assert(response, 'Failed to extract images as tiff.')
1506
1500
  end
1507
1501
 
1508
- def test_get_pdf_in_storage_to_tiff
1509
- file_name = '4pages.pdf'
1510
- upload_file(file_name)
1502
+ def test_put_images_extract_as_gif
1503
+ name = "PdfWithImages2.pdf"
1504
+ upload_file(name)
1505
+ page_number = 1
1511
1506
 
1507
+ dest_folder = "extract_gif"
1512
1508
  opts = {
1509
+ :dest_folder => @temp_folder + '/' + dest_folder,
1513
1510
  :folder => @temp_folder
1514
1511
  }
1515
-
1516
- response = @pdf_api.get_pdf_in_storage_to_tiff(file_name, opts)
1517
- assert(response, 'Filed to convert PDF to Tiff.')
1512
+ response = @pdf_api.put_images_extract_as_gif(name, page_number, opts)
1513
+ assert(response, 'Failed to extract images as gif.')
1518
1514
  end
1519
1515
 
1520
- def test_put_pdf_in_storage_to_tiff
1521
- file_name = '4pages.pdf'
1522
- upload_file(file_name)
1523
- res_file = 'result.tiff'
1516
+ def test_put_images_extract_as_png
1517
+ name = "PdfWithImages2.pdf"
1518
+ upload_file(name)
1519
+ page_number = 1
1524
1520
 
1521
+ dest_folder = "extract_png"
1525
1522
  opts = {
1523
+ :dest_folder => @temp_folder + '/' + dest_folder,
1526
1524
  :folder => @temp_folder
1527
1525
  }
1528
- response = @pdf_api.put_pdf_in_storage_to_tiff(file_name, @temp_folder + '/' + res_file, opts)
1529
- assert(response, 'Filed to convert PDF to Tiff.')
1526
+ response = @pdf_api.put_images_extract_as_png(name, page_number, opts)
1527
+ assert(response, 'Failed to extract images as png.')
1530
1528
  end
1531
1529
 
1532
- def test_put_pdf_in_request_to_tiff
1533
- file_name = '4pages.pdf'
1530
+ def test_put_image_extract_as_jpeg
1531
+ name = "PdfWithImages2.pdf"
1532
+ upload_file(name)
1534
1533
 
1535
- res_file = 'result.pdf'
1534
+ dest_folder = "extract_jpg"
1536
1535
 
1537
1536
  opts = {
1538
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1537
+ :dest_folder => @temp_folder + '/' + dest_folder,
1538
+ :folder => @temp_folder
1539
1539
  }
1540
- response = @pdf_api.put_pdf_in_request_to_tiff(@temp_folder + '/' + res_file, opts)
1541
- assert(response, 'Filed to convert PDF to Tiff.')
1540
+
1541
+ page_number = 1
1542
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1543
+ assert(responseImages, 'Failed to read document images.')
1544
+ image_id = responseImages[0].images.list[0].id
1545
+
1546
+ response = @pdf_api.put_image_extract_as_jpeg(name, image_id, opts)
1547
+ assert(response, 'Failed to extract image as jpeg.')
1542
1548
  end
1543
1549
 
1544
- def test_get_pdf_in_storage_to_svg
1545
- file_name = '4pages.pdf'
1546
- upload_file(file_name)
1550
+ def test_get_image_extract_as_jpeg
1551
+ name = "PdfWithImages2.pdf"
1552
+ upload_file(name)
1547
1553
 
1548
1554
  opts = {
1549
1555
  :folder => @temp_folder
1550
1556
  }
1551
1557
 
1552
- response = @pdf_api.get_pdf_in_storage_to_svg(file_name, opts)
1553
- assert(response, 'Filed to convert PDF to SVG.')
1554
- end
1555
-
1556
- def test_put_pdf_in_storage_to_svg
1557
- file_name = '4pages.pdf'
1558
- upload_file(file_name)
1559
- res_file = 'result.svg'
1558
+ page_number = 1
1559
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1560
+ assert(responseImages, 'Failed to read document images.')
1561
+ image_id = responseImages[0].images.list[0].id
1560
1562
 
1561
- opts = {
1562
- :folder => @temp_folder
1563
- }
1564
- response = @pdf_api.put_pdf_in_storage_to_svg(file_name, @temp_folder + '/' + res_file, opts)
1565
- assert(response, 'Filed to convert PDF to SVG.')
1563
+ response = @pdf_api.get_image_extract_as_jpeg(name, image_id, opts)
1564
+ assert(response, 'Failed to extract image as jpeg.')
1566
1565
  end
1567
1566
 
1568
- def test_put_pdf_in_request_to_svg
1569
- file_name = '4pages.pdf'
1567
+ def test_put_image_extract_as_tiff
1568
+ name = "PdfWithImages2.pdf"
1569
+ upload_file(name)
1570
1570
 
1571
- res_file = 'result.svg'
1571
+ dest_folder = "extract_tiff"
1572
1572
 
1573
1573
  opts = {
1574
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1574
+ :dest_folder => @temp_folder + '/' + dest_folder,
1575
+ :folder => @temp_folder
1575
1576
  }
1576
- response = @pdf_api.put_pdf_in_request_to_svg(@temp_folder + '/' + res_file, opts)
1577
- assert(response, 'Filed to convert PDF to SVG.')
1577
+
1578
+ page_number = 1
1579
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1580
+ assert(responseImages, 'Failed to read document images.')
1581
+ image_id = responseImages[0].images.list[0].id
1582
+
1583
+ response = @pdf_api.put_image_extract_as_tiff(name, image_id, opts)
1584
+ assert(response, 'Failed to extract image as tiff.')
1578
1585
  end
1579
1586
 
1580
- def test_get_pdf_in_storage_to_xps
1581
- file_name = '4pages.pdf'
1582
- upload_file(file_name)
1587
+ def test_get_image_extract_as_tiff
1588
+ name = "PdfWithImages2.pdf"
1589
+ upload_file(name)
1583
1590
 
1584
1591
  opts = {
1585
1592
  :folder => @temp_folder
1586
1593
  }
1587
1594
 
1588
- response = @pdf_api.get_pdf_in_storage_to_xps(file_name, opts)
1589
- assert(response, 'Filed to convert PDF to XPS.')
1595
+ page_number = 1
1596
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1597
+ assert(responseImages, 'Failed to read document images.')
1598
+ image_id = responseImages[0].images.list[0].id
1599
+
1600
+ response = @pdf_api.get_image_extract_as_tiff(name, image_id, opts)
1601
+ assert(response, 'Failed to extract image as tiff.')
1590
1602
  end
1591
1603
 
1592
- def test_put_pdf_in_storage_to_xps
1593
- file_name = '4pages.pdf'
1594
- upload_file(file_name)
1595
- res_file = 'result.xps'
1604
+ def test_put_image_extract_as_gif
1605
+ name = "PdfWithImages2.pdf"
1606
+ upload_file(name)
1607
+
1608
+ dest_folder = "extract_gif"
1596
1609
 
1597
1610
  opts = {
1611
+ :dest_folder => @temp_folder + '/' + dest_folder,
1598
1612
  :folder => @temp_folder
1599
1613
  }
1600
- response = @pdf_api.put_pdf_in_storage_to_xps(file_name, @temp_folder + '/' + res_file, opts)
1601
- assert(response, 'Filed to convert PDF to XPS.')
1602
- end
1603
-
1604
- def test_put_pdf_in_request_to_xps
1605
- file_name = '4pages.pdf'
1606
1614
 
1607
- res_file = 'result.xps'
1615
+ page_number = 1
1616
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1617
+ assert(responseImages, 'Failed to read document images.')
1618
+ image_id = responseImages[0].images.list[0].id
1608
1619
 
1609
- opts = {
1610
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1611
- }
1612
- response = @pdf_api.put_pdf_in_request_to_xps(@temp_folder + '/' + res_file, opts)
1613
- assert(response, 'Filed to convert PDF to XPS.')
1620
+ response = @pdf_api.put_image_extract_as_gif(name, image_id, opts)
1621
+ assert(response, 'Failed to extract image as gif.')
1614
1622
  end
1615
1623
 
1616
- def test_get_pdf_in_storage_to_xls
1617
- file_name = '4pages.pdf'
1618
- upload_file(file_name)
1624
+ def test_get_image_extract_as_gif
1625
+ name = "PdfWithImages2.pdf"
1626
+ upload_file(name)
1619
1627
 
1620
1628
  opts = {
1621
1629
  :folder => @temp_folder
1622
1630
  }
1623
1631
 
1624
- response = @pdf_api.get_pdf_in_storage_to_xls(file_name, opts)
1625
- assert(response, 'Filed to convert PDF to XLS.')
1632
+ page_number = 1
1633
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1634
+ assert(responseImages, 'Failed to read document images.')
1635
+ image_id = responseImages[0].images.list[0].id
1636
+
1637
+ response = @pdf_api.get_image_extract_as_gif(name, image_id, opts)
1638
+ assert(response, 'Failed to extract image as gif.')
1626
1639
  end
1627
1640
 
1628
- def test_put_pdf_in_storage_to_xls
1629
- file_name = '4pages.pdf'
1630
- upload_file(file_name)
1631
- res_file = 'result.xls'
1641
+ def test_put_image_extract_as_png
1642
+ name = "PdfWithImages2.pdf"
1643
+ upload_file(name)
1644
+
1645
+ dest_folder = "extract_png"
1632
1646
 
1633
1647
  opts = {
1648
+ :dest_folder => @temp_folder + '/' + dest_folder,
1634
1649
  :folder => @temp_folder
1635
1650
  }
1636
- response = @pdf_api.put_pdf_in_storage_to_xls(file_name, @temp_folder + '/' + res_file, opts)
1637
- assert(response, 'Filed to convert PDF to XLS.')
1638
- end
1639
-
1640
- def test_put_pdf_in_request_to_xls
1641
- file_name = '4pages.pdf'
1642
1651
 
1643
- res_file = 'result.xls'
1652
+ page_number = 1
1653
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1654
+ assert(responseImages, 'Failed to read document images.')
1655
+ image_id = responseImages[0].images.list[0].id
1644
1656
 
1645
- opts = {
1646
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1647
- }
1648
- response = @pdf_api.put_pdf_in_request_to_xls(@temp_folder + '/' + res_file, opts)
1649
- assert(response, 'Filed to convert PDF to XLS.')
1657
+ response = @pdf_api.put_image_extract_as_png(name, image_id, opts)
1658
+ assert(response, 'Failed to extract images as png.')
1650
1659
  end
1651
1660
 
1652
- def test_get_pdf_in_storage_to_html
1653
- file_name = '4pages.pdf'
1654
- upload_file(file_name)
1661
+ def test_get_image_extract_as_png
1662
+ name = "PdfWithImages2.pdf"
1663
+ upload_file(name)
1655
1664
 
1656
1665
  opts = {
1657
1666
  :folder => @temp_folder
1658
1667
  }
1659
1668
 
1660
- response = @pdf_api.get_pdf_in_storage_to_html(file_name, opts)
1661
- assert(response, 'Filed to convert PDF to HTML.')
1669
+ page_number = 1
1670
+ responseImages = @pdf_api.get_images(name, page_number, opts)
1671
+ assert(responseImages, 'Failed to read document images.')
1672
+ image_id = responseImages[0].images.list[0].id
1673
+
1674
+ response = @pdf_api.get_image_extract_as_png(name, image_id, opts)
1675
+ assert(response, 'Failed to extract images as png.')
1662
1676
  end
1663
1677
 
1664
- def test_put_pdf_in_storage_to_html
1665
- file_name = '4pages.pdf'
1678
+
1679
+ # Links Tests
1680
+
1681
+ def test_get_page_link_annotation
1682
+ file_name = 'PdfWithLinks.pdf'
1666
1683
  upload_file(file_name)
1667
- res_file = 'result.zip'
1668
1684
 
1685
+ page_number = 1
1669
1686
  opts = {
1670
1687
  :folder => @temp_folder
1671
1688
  }
1672
- response = @pdf_api.put_pdf_in_storage_to_html(file_name, @temp_folder + '/' + res_file, opts)
1673
- assert(response, 'Filed to convert PDF to HTML.')
1674
- end
1675
-
1676
- def test_put_pdf_in_request_to_html
1677
- file_name = '4pages.pdf'
1678
1689
 
1679
- res_file = 'result.zip'
1690
+ annotations_response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
1691
+ assert(annotations_response, 'Failed to read document page link annotations.')
1692
+ link_id = annotations_response[0].links.list[0].id
1680
1693
 
1681
- opts = {
1682
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1683
- }
1684
- response = @pdf_api.put_pdf_in_request_to_html(@temp_folder + '/' + res_file, opts)
1685
- assert(response, 'Filed to convert PDF to HTML.')
1694
+ response = @pdf_api.get_page_link_annotation(file_name, page_number, link_id, opts)
1695
+ assert(response, 'Failed to read document page link annotation.')
1686
1696
  end
1687
1697
 
1688
- def test_get_pdf_in_storage_to_epub
1689
- file_name = '4pages.pdf'
1698
+ def test_delete_link_annotation
1699
+ file_name = 'PdfWithLinks.pdf'
1690
1700
  upload_file(file_name)
1691
1701
 
1702
+ page_number = 1
1692
1703
  opts = {
1693
1704
  :folder => @temp_folder
1694
1705
  }
1695
1706
 
1696
- response = @pdf_api.get_pdf_in_storage_to_epub(file_name, opts)
1697
- assert(response, 'Filed to convert PDF to EPUB.')
1707
+ annotations_response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
1708
+ assert(annotations_response, 'Failed to read document page link annotations.')
1709
+ link_id = annotations_response[0].links.list[0].id
1710
+
1711
+ response = @pdf_api.delete_link_annotation(file_name, link_id, opts)
1712
+ assert(response, 'Failed to delete link annotation.')
1698
1713
  end
1699
1714
 
1700
- def test_put_pdf_in_storage_to_epub
1701
- file_name = '4pages.pdf'
1715
+ def test_get_page_link_annotations
1716
+ file_name = 'PdfWithLinks.pdf'
1702
1717
  upload_file(file_name)
1703
- res_file = 'result.epub'
1704
1718
 
1719
+ page_number = 1
1705
1720
  opts = {
1706
1721
  :folder => @temp_folder
1707
1722
  }
1708
- response = @pdf_api.put_pdf_in_storage_to_epub(file_name, @temp_folder + '/' + res_file, opts)
1709
- assert(response, 'Filed to convert PDF to EPUB.')
1710
- end
1711
-
1712
- def test_put_pdf_in_request_to_epub
1713
- file_name = '4pages.pdf'
1714
-
1715
- res_file = 'result.epub'
1716
1723
 
1717
- opts = {
1718
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1719
- }
1720
- response = @pdf_api.put_pdf_in_request_to_epub(@temp_folder + '/' + res_file, opts)
1721
- assert(response, 'Filed to convert PDF to EPUB.')
1724
+ response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
1725
+ assert(response, 'Failed to read document page link annotations.')
1722
1726
  end
1723
1727
 
1724
- def test_get_pdf_in_storage_to_pptx
1725
- file_name = '4pages.pdf'
1728
+ def test_post_page_link_annotations
1729
+ file_name = 'PdfWithLinks.pdf'
1726
1730
  upload_file(file_name)
1727
1731
 
1732
+ page_number = 1
1728
1733
  opts = {
1729
1734
  :folder => @temp_folder
1730
1735
  }
1731
1736
 
1732
- response = @pdf_api.get_pdf_in_storage_to_pptx(file_name, opts)
1733
- assert(response, 'Filed to convert PDF to PPTX.')
1737
+ rect = RectanglePdf.new
1738
+ rect.llx = 100
1739
+ rect.lly = 100
1740
+ rect.urx = 500
1741
+ rect.ury = 500
1742
+
1743
+ linkAnnotation = LinkAnnotation.new
1744
+ linkAnnotation.action_type = LinkActionType::GO_TO_URI_ACTION
1745
+ linkAnnotation.action = "https://products.aspose.cloud/pdf"
1746
+ linkAnnotation.rect = rect
1747
+
1748
+ response = @pdf_api.post_page_link_annotations(file_name, page_number, [linkAnnotation], opts)
1749
+ assert(response, 'Failed to add link annotation.')
1734
1750
  end
1735
1751
 
1736
- def test_put_pdf_in_storage_to_pptx
1737
- file_name = '4pages.pdf'
1752
+ def test_put_link_annotation
1753
+ file_name = 'PdfWithLinks.pdf'
1738
1754
  upload_file(file_name)
1739
- res_file = 'result.pptx'
1740
1755
 
1756
+ page_number = 1
1741
1757
  opts = {
1742
1758
  :folder => @temp_folder
1743
1759
  }
1744
- response = @pdf_api.put_pdf_in_storage_to_pptx(file_name, @temp_folder + '/' + res_file, opts)
1745
- assert(response, 'Filed to convert PDF to PPTX.')
1746
- end
1747
1760
 
1761
+ annotations_response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
1762
+ assert(annotations_response, 'Failed to read document page link annotations.')
1763
+ link_id = annotations_response[0].links.list[0].id
1748
1764
 
1749
- def test_put_pdf_in_request_to_pptx
1750
- file_name = '4pages.pdf'
1765
+ rect = RectanglePdf.new
1766
+ rect.llx = 100
1767
+ rect.lly = 100
1768
+ rect.urx = 500
1769
+ rect.ury = 500
1751
1770
 
1752
- res_file = 'result.pptx'
1771
+ linkAnnotation = LinkAnnotation.new
1772
+ linkAnnotation.action_type = LinkActionType::GO_TO_URI_ACTION
1773
+ linkAnnotation.action = "https://products.aspose.cloud/pdf"
1774
+ linkAnnotation.rect = rect
1753
1775
 
1754
- opts = {
1755
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1756
- }
1757
- response = @pdf_api.put_pdf_in_request_to_pptx(@temp_folder + '/' + res_file, opts)
1758
- assert(response, 'Filed to convert PDF to PPTX.')
1776
+ response = @pdf_api.put_link_annotation(file_name, link_id, linkAnnotation, opts)
1777
+ assert(response, 'Failed to update link annotation.')
1759
1778
  end
1760
1779
 
1761
- def test_get_pdf_in_storage_to_la_te_x
1762
- file_name = '4pages.pdf'
1780
+ def test_delete_page_link_annotations
1781
+ file_name = 'PdfWithLinks.pdf'
1763
1782
  upload_file(file_name)
1764
1783
 
1784
+ page_number = 1
1765
1785
  opts = {
1766
1786
  :folder => @temp_folder
1767
1787
  }
1768
1788
 
1769
- response = @pdf_api.get_pdf_in_storage_to_la_te_x(file_name, opts)
1770
- assert(response, 'Filed to convert PDF to LaTex.')
1789
+ response = @pdf_api.delete_page_link_annotations(file_name, page_number, opts)
1790
+ assert(response, 'Failed to delete page link annotations.')
1771
1791
  end
1772
1792
 
1773
- def test_put_pdf_in_storage_to_la_te_x
1774
- file_name = '4pages.pdf'
1793
+ def test_delete_document_link_annotations
1794
+ file_name = 'PdfWithLinks.pdf'
1775
1795
  upload_file(file_name)
1776
- res_file = 'result.latex'
1777
1796
 
1797
+ page_number = 1
1778
1798
  opts = {
1779
1799
  :folder => @temp_folder
1780
1800
  }
1781
- response = @pdf_api.put_pdf_in_storage_to_la_te_x(file_name, @temp_folder + '/' + res_file, opts)
1782
- assert(response, 'Filed to convert PDF to LaTeX.')
1783
- end
1784
1801
 
1785
-
1786
- def test_put_pdf_in_request_to_la_te_x
1787
- file_name = '4pages.pdf'
1788
-
1789
- res_file = 'result.latex'
1790
-
1791
- opts = {
1792
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1793
- }
1794
- response = @pdf_api.put_pdf_in_request_to_la_te_x(@temp_folder + '/' + res_file, opts)
1795
- assert(response, 'Filed to convert PDF to LaTeX.')
1802
+ response = @pdf_api.delete_document_link_annotations(file_name, opts)
1803
+ assert(response, 'Failed to delete document link annotations.')
1796
1804
  end
1797
1805
 
1798
- def test_get_pdf_in_storage_to_mobi_xml
1799
- file_name = '4pages.pdf'
1806
+ def test_get_link_annotation
1807
+ file_name = 'PdfWithLinks.pdf'
1800
1808
  upload_file(file_name)
1801
1809
 
1810
+ page_number = 1
1802
1811
  opts = {
1803
1812
  :folder => @temp_folder
1804
1813
  }
1805
1814
 
1806
- response = @pdf_api.get_pdf_in_storage_to_mobi_xml(file_name, opts)
1807
- assert(response, 'Filed to convert PDF to Moby Xml.')
1815
+ annotations_response = @pdf_api.get_page_link_annotations(file_name, page_number, opts)
1816
+ assert(annotations_response, 'Failed to read document page link annotations.')
1817
+ link_id = annotations_response[0].links.list[0].id
1818
+
1819
+ response = @pdf_api.get_link_annotation(file_name, link_id, opts)
1820
+ assert(response, 'Failed to delete link annotation.')
1808
1821
  end
1809
1822
 
1810
- def test_put_pdf_in_storage_to_mobi_xml
1811
- file_name = '4pages.pdf'
1812
- upload_file(file_name)
1813
- res_file = 'result.mobi'
1823
+ # Merge Tests
1814
1824
 
1815
- opts = {
1816
- :folder => @temp_folder
1817
- }
1818
- response = @pdf_api.put_pdf_in_storage_to_mobi_xml(file_name, @temp_folder + '/' + res_file, opts)
1819
- assert(response, 'Filed to convert PDF to Moby Xml.')
1820
- end
1825
+ def test_put_merge_documents
1826
+ file_name_list = ['4pages.pdf', 'PdfWithImages2.pdf', 'marketing.pdf']
1827
+ file_name_list.each { |file_name| upload_file(file_name)}
1821
1828
 
1829
+ result_name = 'MergingResult.pdf'
1822
1830
 
1823
- def test_put_pdf_in_request_to_mobi_xml
1824
- file_name = '4pages.pdf'
1831
+ file_name_list.collect! {|file_name| @temp_folder + '/' + file_name}
1825
1832
 
1826
- res_file = 'result.mobi'
1833
+ merge_documents = MergeDocuments.new
1834
+ merge_documents.list = file_name_list
1827
1835
 
1828
1836
  opts = {
1829
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1837
+ :merge_documents => merge_documents,
1838
+ :folder => @temp_folder
1830
1839
  }
1831
- response = @pdf_api.put_pdf_in_request_to_mobi_xml(@temp_folder + '/' + res_file, opts)
1832
- assert(response, 'Filed to convert PDF to Moby Xml.')
1840
+
1841
+ response = @pdf_api.put_merge_documents(result_name, opts)
1842
+ assert(response, 'Failed to merge a list of documents')
1833
1843
  end
1834
1844
 
1835
- def test_get_xfa_pdf_in_storage_to_acro_form
1836
- file_name = 'PdfWithXfaForm.pdf'
1845
+
1846
+ # OCR Tests
1847
+
1848
+ def test_put_searchable_document
1849
+ file_name = 'rusdoc.pdf'
1837
1850
  upload_file(file_name)
1838
1851
 
1839
1852
  opts = {
1853
+ :lang => 'rus,eng',
1840
1854
  :folder => @temp_folder
1841
1855
  }
1842
1856
 
1843
- response = @pdf_api.get_xfa_pdf_in_storage_to_acro_form(file_name, opts)
1844
- assert(response, 'Filed to convert Xfa PDF to Acro form.')
1857
+ response = @pdf_api.put_searchable_document(file_name, opts)
1858
+ assert(response, 'Filed to make document searchable')
1845
1859
  end
1846
1860
 
1847
- def test_put_xfa_pdf_in_storage_to_acro_form
1848
- file_name = 'PdfWithXfaForm.pdf'
1861
+
1862
+ def test_put_searchable_document_with_default_lang
1863
+ file_name = 'rusdoc.pdf'
1849
1864
  upload_file(file_name)
1850
- res_file = 'result.pdf'
1851
1865
 
1852
1866
  opts = {
1853
1867
  :folder => @temp_folder
1854
1868
  }
1855
- response = @pdf_api.put_xfa_pdf_in_storage_to_acro_form(file_name, @temp_folder + '/' + res_file, opts)
1856
- assert(response, 'Filed to convert Xfa PDF to Acro form.')
1869
+
1870
+ response = @pdf_api.put_searchable_document(file_name, opts)
1871
+ assert(response, 'Filed to make document searchable.')
1857
1872
  end
1858
1873
 
1859
1874
 
1860
- def test_put_xfa_pdf_in_request_to_acro_form
1861
- file_name = 'PdfWithXfaForm.pdf'
1875
+ # Page Convert To Images Tests
1862
1876
 
1863
- res_file = 'result.pdf'
1877
+ def test_get_page_convert_to_tiff
1878
+ name = "4pages.pdf"
1879
+ upload_file(name)
1864
1880
 
1881
+ page_number = 2
1865
1882
  opts = {
1866
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1883
+ :folder => @temp_folder
1867
1884
  }
1868
- response = @pdf_api.put_xfa_pdf_in_request_to_acro_form(@temp_folder + '/' + res_file, opts)
1869
- assert(response, 'Filed to convert Xfa PDF to Acro form.')
1885
+
1886
+ response = @pdf_api.get_page_convert_to_tiff(name, page_number, opts)
1887
+ assert(response, 'Failed to convert page as tiff.')
1870
1888
  end
1871
1889
 
1890
+ def test_put_page_convert_to_tiff
1891
+ name = "4pages.pdf"
1892
+ upload_file(name)
1893
+ result_file = "page.tiff"
1894
+ out_path = @temp_folder + '/' + result_file
1895
+ page_number = 2
1896
+ opts = {
1897
+ :folder => @temp_folder
1898
+ }
1899
+ response = @pdf_api.put_page_convert_to_tiff(name, page_number, out_path, opts)
1900
+ assert(response, 'Failed to convert page as tiff.')
1901
+ end
1872
1902
 
1873
- def test_get_pdf_in_storage_to_xml
1874
- file_name = '4pages.pdf'
1875
- upload_file(file_name)
1903
+ def test_get_page_convert_to_jpeg
1904
+ name = "4pages.pdf"
1905
+ upload_file(name)
1876
1906
 
1907
+ page_number = 2
1877
1908
  opts = {
1878
1909
  :folder => @temp_folder
1879
1910
  }
1880
1911
 
1881
- response = @pdf_api.get_pdf_in_storage_to_xml(file_name, opts)
1882
- assert(response, 'Filed to convert PDF to Xml.')
1912
+ response = @pdf_api.get_page_convert_to_jpeg(name, page_number, opts)
1913
+ assert(response, 'Failed to convert page as jpeg.')
1883
1914
  end
1884
1915
 
1885
- def test_put_pdf_in_storage_to_xml
1886
- file_name = '4pages.pdf'
1887
- upload_file(file_name)
1888
- res_file = 'result.xml'
1889
-
1916
+ def test_put_page_convert_to_jpeg
1917
+ name = "4pages.pdf"
1918
+ upload_file(name)
1919
+ result_file = "page.jpeg"
1920
+ out_path = @temp_folder + '/' + result_file
1921
+ page_number = 2
1890
1922
  opts = {
1891
1923
  :folder => @temp_folder
1892
1924
  }
1893
- response = @pdf_api.put_pdf_in_storage_to_xml(file_name, @temp_folder + '/' + res_file, opts)
1894
- assert(response, 'Filed to convert PDF to Xml.')
1925
+ response = @pdf_api.put_page_convert_to_jpeg(name, page_number, out_path, opts)
1926
+ assert(response, 'Failed to convert page as jpeg.')
1895
1927
  end
1896
1928
 
1929
+ def test_get_page_convert_to_png
1930
+ name = "4pages.pdf"
1931
+ upload_file(name)
1897
1932
 
1898
- def test_put_pdf_in_request_to_xml
1899
- file_name = '4pages.pdf'
1933
+ page_number = 2
1934
+ opts = {
1935
+ :folder => @temp_folder
1936
+ }
1900
1937
 
1901
- res_file = 'result.xml'
1938
+ response = @pdf_api.get_page_convert_to_png(name, page_number, opts)
1939
+ assert(response, 'Failed to convert page as png.')
1940
+ end
1902
1941
 
1942
+ def test_put_page_convert_to_png
1943
+ name = "4pages.pdf"
1944
+ upload_file(name)
1945
+ result_file = "page.png"
1946
+ out_path = @temp_folder + '/' + result_file
1947
+ page_number = 2
1903
1948
  opts = {
1904
- :file => File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) }
1949
+ :folder => @temp_folder
1905
1950
  }
1906
- response = @pdf_api.put_pdf_in_request_to_xml(@temp_folder + '/' + res_file, opts)
1907
- assert(response, 'Filed to convert PDF to Xml.')
1951
+ response = @pdf_api.put_page_convert_to_png(name, page_number, out_path, opts)
1952
+ assert(response, 'Failed to convert page as png.')
1908
1953
  end
1909
1954
 
1910
- # Upload & Download Tests
1955
+ def test_get_page_convert_to_emf
1956
+ name = "4pages.pdf"
1957
+ upload_file(name)
1911
1958
 
1912
- def test_put_create
1913
- file_name = '4pages.pdf'
1959
+ page_number = 2
1960
+ opts = {
1961
+ :folder => @temp_folder
1962
+ }
1914
1963
 
1915
- response = @pdf_api.put_create(@temp_folder + '/' + file_name, File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) } )
1916
- assert(response, "Failed to upload #{file_name} file.")
1964
+ response = @pdf_api.get_page_convert_to_emf(name, page_number, opts)
1965
+ assert(response, 'Failed to convert page as emf.')
1917
1966
  end
1918
1967
 
1919
- def test_get_download
1920
- file_name = '4pages.pdf'
1921
- upload_file(file_name)
1922
-
1923
-
1924
- response = @pdf_api.get_download(@temp_folder + '/' + file_name)
1925
- assert(response, "Failed to download #{file_name} file.")
1968
+ def test_put_page_convert_to_emf
1969
+ name = "4pages.pdf"
1970
+ upload_file(name)
1971
+ result_file = "page.emf"
1972
+ out_path = @temp_folder + '/' + result_file
1973
+ page_number = 2
1974
+ opts = {
1975
+ :folder => @temp_folder
1976
+ }
1977
+ response = @pdf_api.put_page_convert_to_emf(name, page_number, out_path, opts)
1978
+ assert(response, 'Failed to convert page as emf.')
1926
1979
  end
1927
1980
 
1928
- # Privileges Tests
1981
+ def test_get_page_convert_to_bmp
1982
+ name = "4pages.pdf"
1983
+ upload_file(name)
1929
1984
 
1930
- def test_put_privileges
1931
- file_name = '4pages.pdf'
1932
- upload_file(file_name)
1985
+ page_number = 2
1986
+ opts = {
1987
+ :folder => @temp_folder
1988
+ }
1933
1989
 
1934
- privileges = DocumentPrivilege.new
1935
- privileges.allow_copy = false
1936
- privileges.allow_print = false
1990
+ response = @pdf_api.get_page_convert_to_bmp(name, page_number, opts)
1991
+ assert(response, 'Failed to convert page as bmp.')
1992
+ end
1937
1993
 
1994
+ def test_put_page_convert_to_bmp
1995
+ name = "4pages.pdf"
1996
+ upload_file(name)
1997
+ result_file = "page.bmp"
1998
+ out_path = @temp_folder + '/' + result_file
1999
+ page_number = 2
1938
2000
  opts = {
1939
- :privileges => privileges,
1940
2001
  :folder => @temp_folder
1941
2002
  }
1942
- response = @pdf_api.put_privileges(file_name, opts)
1943
- assert(response, 'Failed to set pdf privileges.')
2003
+ response = @pdf_api.put_page_convert_to_bmp(name, page_number, out_path, opts)
2004
+ assert(response, 'Failed to convert page as bmp.')
1944
2005
  end
1945
2006
 
1946
- # Convert to PDF Tests
2007
+ def test_get_page_convert_to_gif
2008
+ name = "4pages.pdf"
2009
+ upload_file(name)
1947
2010
 
1948
- def test_get_epub_in_storage_to_pdf
1949
- file_name = '4pages.epub'
1950
- upload_file(file_name)
2011
+ page_number = 2
2012
+ opts = {
2013
+ :folder => @temp_folder
2014
+ }
1951
2015
 
1952
- src_path = @temp_folder + '/' + file_name
1953
- response = @pdf_api.get_epub_in_storage_to_pdf(src_path)
1954
- assert(response, 'Failed to convert epub to pdf.')
2016
+ response = @pdf_api.get_page_convert_to_gif(name, page_number, opts)
2017
+ assert(response, 'Failed to convert page as gif.')
1955
2018
  end
1956
2019
 
1957
- def test_put_epub_in_storage_to_pdf
1958
- file_name = '4pages.epub'
1959
- upload_file(file_name)
1960
- result_name = 'fromEpub.pdf'
1961
-
1962
- src_path = @temp_folder + '/' + file_name
2020
+ def test_put_page_convert_to_gif
2021
+ name = "4pages.pdf"
2022
+ upload_file(name)
2023
+ result_file = "page.gif"
2024
+ out_path = @temp_folder + '/' + result_file
2025
+ page_number = 2
1963
2026
  opts = {
1964
- :dst_folder => @temp_folder
2027
+ :folder => @temp_folder
1965
2028
  }
1966
- response = @pdf_api.put_epub_in_storage_to_pdf(result_name, src_path, opts)
1967
- assert(response, 'Failed to convert epub to pdf.')
2029
+ response = @pdf_api.put_page_convert_to_gif(name, page_number, out_path, opts)
2030
+ assert(response, 'Failed to convert page as gif.')
1968
2031
  end
1969
2032
 
1970
- def test_get_web_in_storage_to_pdf
1971
- url = 'http://google.com'
1972
2033
 
1973
- response = @pdf_api.get_web_in_storage_to_pdf(url)
1974
- assert(response, 'Failed to convert web page to pdf.')
1975
- end
2034
+ # Pages Tests
1976
2035
 
1977
- def test_put_web_in_storage_to_pdf
1978
- url = 'http://google.com'
1979
- result_name = 'fromWeb.pdf'
2036
+ def test_delete_page
2037
+ file_name = '4pages.pdf'
2038
+ upload_file(file_name)
1980
2039
 
2040
+ page_number = 1
1981
2041
  opts = {
1982
- :dst_folder => @temp_folder
2042
+ :folder => @temp_folder
1983
2043
  }
1984
- response = @pdf_api.put_web_in_storage_to_pdf(result_name, url, opts)
1985
- assert(response, 'Failed to convert web page to pdf.')
2044
+
2045
+ response = @pdf_api.delete_page(file_name, page_number, opts)
2046
+ assert(response, 'Failed to delete document page by its number.')
1986
2047
  end
1987
2048
 
1988
2049
 
1989
- def test_get_la_te_x_in_storage_to_pdf
1990
- file_name = 'TexExample.tex'
2050
+ def test_get_page
2051
+ file_name = '4pages.pdf'
1991
2052
  upload_file(file_name)
1992
2053
 
1993
- src_path = @temp_folder + '/' + file_name
1994
- response = @pdf_api.get_la_te_x_in_storage_to_pdf(src_path)
1995
- assert(response, 'Failed to convert LaTeX to pdf.')
2054
+ page_number = 3
2055
+ opts = {
2056
+ :folder => @temp_folder
2057
+ }
2058
+
2059
+ response = @pdf_api.get_page(file_name, page_number, opts)
2060
+ assert(response, 'Failed to get document page by its number.')
1996
2061
  end
1997
2062
 
1998
- def test_put_la_te_x_in_storage_to_pdf
1999
- file_name = 'TexExample.tex'
2063
+ def test_get_pages
2064
+ file_name = '4pages.pdf'
2000
2065
  upload_file(file_name)
2001
- result_name = 'fromTex.pdf'
2002
2066
 
2003
- src_path = @temp_folder + '/' + file_name
2004
2067
  opts = {
2005
- :dst_folder => @temp_folder
2068
+ :folder => @temp_folder
2006
2069
  }
2007
- response = @pdf_api.put_la_te_x_in_storage_to_pdf(result_name, src_path, opts)
2008
- assert(response, 'Failed to convert LaTeX to pdf.')
2070
+
2071
+ response = @pdf_api.get_pages(file_name, opts)
2072
+ assert(response, 'Failed to read document pages info.')
2009
2073
  end
2010
2074
 
2011
- def test_get_mht_in_storage_to_pdf
2012
- file_name = 'MhtExample.mht'
2075
+ def test_get_words_per_page
2076
+ file_name = '4pages.pdf'
2013
2077
  upload_file(file_name)
2014
2078
 
2015
- src_path = @temp_folder + '/' + file_name
2016
- response = @pdf_api.get_mht_in_storage_to_pdf(src_path)
2017
- assert(response, 'Failed to convert mht to pdf.')
2079
+ opts = {
2080
+ :folder => @temp_folder
2081
+ }
2082
+
2083
+ response = @pdf_api.get_words_per_page(file_name, opts)
2084
+ assert(response, 'Failed to get number of words per document page.')
2018
2085
  end
2019
2086
 
2020
- def test_put_mht_in_storage_to_pdf
2021
- file_name = 'MhtExample.mht'
2087
+ def test_post_move_page
2088
+ file_name = '4pages.pdf'
2022
2089
  upload_file(file_name)
2023
- result_name = 'fromMht.pdf'
2024
2090
 
2025
- src_path = @temp_folder + '/' + file_name
2026
2091
  opts = {
2027
- :dst_folder => @temp_folder
2092
+ :folder => @temp_folder
2028
2093
  }
2029
- response = @pdf_api.put_mht_in_storage_to_pdf(result_name, src_path, opts)
2030
- assert(response, 'Failed to convert mht to pdf.')
2031
- end
2094
+ page_number = 1
2095
+ new_index = 1
2032
2096
 
2097
+ response = @pdf_api.post_move_page(file_name, page_number, new_index, opts)
2098
+ assert(response, 'Failed to move page to new position.')
2099
+ end
2033
2100
 
2034
- def test_get_html_in_storage_to_pdf
2035
- file_name = 'HtmlWithImage.zip'
2101
+ def test_put_add_new_page
2102
+ file_name = '4pages.pdf'
2036
2103
  upload_file(file_name)
2037
2104
 
2038
- html_file_name = 'HtmlWithImage.html'
2039
2105
  opts = {
2040
- :height => 650,
2041
- :width => 250
2106
+ :folder => @temp_folder
2042
2107
  }
2043
- src_path = @temp_folder + '/' + file_name
2044
- response = @pdf_api.get_html_in_storage_to_pdf(src_path, html_file_name, opts)
2045
- assert(response, 'Failed to convert html to pdf.')
2108
+
2109
+ response = @pdf_api.put_add_new_page(file_name, opts)
2110
+ assert(response, 'Failed to add new page to end of the document.')
2046
2111
  end
2047
2112
 
2048
- def test_put_html_in_storage_to_pdf
2049
- file_name = 'HtmlWithImage.zip'
2113
+ def test_put_page_add_stamp
2114
+ file_name = '4pages.pdf'
2050
2115
  upload_file(file_name)
2051
- html_file_name = 'HtmlWithImage.html'
2052
2116
 
2053
- result_name = 'fromMht.pdf'
2117
+ stamp_file_name = 'Penguins.jpg'
2118
+ upload_file(stamp_file_name)
2119
+
2120
+ page_number = 1
2121
+
2122
+ stamp = Stamp.new
2123
+ stamp.type = StampType::IMAGE
2124
+ stamp.file_name = @temp_folder + '/' + stamp_file_name
2125
+ stamp.background = true
2126
+ stamp.width = 200
2127
+ stamp.height = 200
2128
+ stamp.x_indent = 100
2129
+ stamp.y_indent = 100
2054
2130
 
2055
- src_path = @temp_folder + '/' + file_name
2056
2131
  opts = {
2057
- :dst_folder => @temp_folder,
2058
- :height => 650,
2059
- :width => 250
2132
+ :folder => @temp_folder
2060
2133
  }
2061
- response = @pdf_api.put_html_in_storage_to_pdf(result_name, src_path, html_file_name, opts)
2062
- assert(response, 'Failed to convert html to pdf.')
2134
+
2135
+ response = @pdf_api.put_page_add_stamp(file_name, page_number, stamp, opts)
2136
+ assert(response, 'Failed to add page stamp.')
2063
2137
  end
2064
2138
 
2065
- def test_get_xsl_fo_in_storage_to_pdf
2066
- file_name = 'XslfoExample.xslfo'
2067
- upload_file(file_name)
2068
2139
 
2069
- src_path = @temp_folder + '/' + file_name
2070
- response = @pdf_api.get_xsl_fo_in_storage_to_pdf(src_path)
2071
- assert(response, 'Failed to convert xslfo to pdf.')
2072
- end
2140
+ # Privileges Tests
2073
2141
 
2074
- def test_put_xsl_fo_in_storage_to_pdf
2075
- file_name = 'XslfoExample.xslfo'
2142
+ def test_put_privileges
2143
+ file_name = '4pages.pdf'
2076
2144
  upload_file(file_name)
2077
- result_name = 'fromXslFo.pdf'
2078
2145
 
2079
- src_path = @temp_folder + '/' + file_name
2146
+ privileges = DocumentPrivilege.new
2147
+ privileges.allow_copy = false
2148
+ privileges.allow_print = false
2149
+
2080
2150
  opts = {
2081
- :dst_folder => @temp_folder
2151
+ :privileges => privileges,
2152
+ :folder => @temp_folder
2082
2153
  }
2083
- response = @pdf_api.put_xsl_fo_in_storage_to_pdf(result_name, src_path, opts)
2084
- assert(response, 'Failed to convert xslfo to pdf.')
2154
+ response = @pdf_api.put_privileges(file_name, opts)
2155
+ assert(response, 'Failed to set pdf privileges.')
2085
2156
  end
2086
2157
 
2087
2158
 
2088
- def test_get_xps_in_storage_to_pdf
2089
- file_name = 'Simple.xps'
2090
- upload_file(file_name)
2091
-
2092
- src_path = @temp_folder + '/' + file_name
2093
- response = @pdf_api.get_xps_in_storage_to_pdf(src_path)
2094
- assert(response, 'Failed to convert xps to pdf.')
2095
- end
2159
+ # Properties Tests
2096
2160
 
2097
- def test_put_xps_in_storage_to_pdf
2098
- file_name = 'Simple.xps'
2161
+ def test_delete_properties
2162
+ file_name = 'PdfWithAcroForm.pdf'
2099
2163
  upload_file(file_name)
2100
- result_name = 'fromXps.pdf'
2101
2164
 
2102
- src_path = @temp_folder + '/' + file_name
2165
+ property_1 = DocumentProperty.new
2166
+ property_1.name = 'prop1'
2167
+ property_1.value = 'val1'
2168
+
2103
2169
  opts = {
2104
- :dst_folder => @temp_folder
2170
+ :folder => @temp_folder
2105
2171
  }
2106
- response = @pdf_api.put_xps_in_storage_to_pdf(result_name, src_path, opts)
2107
- assert(response, 'Failed to convert xps to pdf.')
2108
- end
2109
2172
 
2173
+ property_2 = DocumentProperty.new
2174
+ property_2.name = 'prop2'
2175
+ property_2.value = 'val2'
2110
2176
 
2111
- def test_get_svg_in_storage_to_pdf
2112
- file_name = 'Simple.svg'
2113
- upload_file(file_name)
2114
2177
 
2115
- src_path = @temp_folder + '/' + file_name
2116
- response = @pdf_api.get_svg_in_storage_to_pdf(src_path)
2117
- assert(response, 'Failed to convert svg to pdf.')
2178
+ @pdf_api.put_set_property(file_name, property_1.name, property_1.value, opts)
2179
+ @pdf_api.put_set_property(file_name, property_2.name, property_2.value, opts)
2180
+
2181
+ response = @pdf_api.delete_properties(file_name, opts)
2182
+ assert(response, 'Failed to delete document properties.')
2118
2183
  end
2119
2184
 
2120
- def test_put_svg_in_storage_to_pdf
2121
- file_name = 'Simple.svg'
2185
+
2186
+ def test_delete_property
2187
+ file_name = 'PdfWithAcroForm.pdf'
2122
2188
  upload_file(file_name)
2123
- result_name = 'fromSvg.pdf'
2124
2189
 
2125
- src_path = @temp_folder + '/' + file_name
2190
+ property_1 = DocumentProperty.new
2191
+ property_1.name = 'prop1'
2192
+ property_1.value = 'val1'
2193
+
2126
2194
  opts = {
2127
- :dst_folder => @temp_folder
2195
+ :folder => @temp_folder
2128
2196
  }
2129
- response = @pdf_api.put_svg_in_storage_to_pdf(result_name, src_path, opts)
2130
- assert(response, 'Failed to convert svg to pdf.')
2131
- end
2132
2197
 
2133
- def test_get_pcl_in_storage_to_pdf
2134
- file_name = 'template.pcl'
2135
- upload_file(file_name)
2198
+ @pdf_api.put_set_property(file_name, property_1.name, property_1.value, opts)
2136
2199
 
2137
- src_path = @temp_folder + '/' + file_name
2138
- response = @pdf_api.get_pcl_in_storage_to_pdf(src_path)
2139
- assert(response, 'Failed to convert pcl to pdf.')
2200
+ response = @pdf_api.delete_property(file_name, property_1.name, opts)
2201
+ assert(response, 'Failed to delete document property.')
2140
2202
  end
2141
2203
 
2142
- def test_put_pcl_in_storage_to_pdf
2143
- file_name = 'template.pcl'
2204
+
2205
+ def test_get_document_properties
2206
+ file_name = 'PdfWithAcroForm.pdf'
2144
2207
  upload_file(file_name)
2145
- result_name = 'fromPcl.pdf'
2146
2208
 
2147
- src_path = @temp_folder + '/' + file_name
2209
+ property_1 = DocumentProperty.new
2210
+ property_1.name = 'prop1'
2211
+ property_1.value = 'val1'
2212
+
2148
2213
  opts = {
2149
- :dst_folder => @temp_folder
2214
+ :folder => @temp_folder
2150
2215
  }
2151
- response = @pdf_api.put_pcl_in_storage_to_pdf(result_name, src_path, opts)
2152
- assert(response, 'Failed to convert pcl to pdf.')
2153
- end
2154
2216
 
2217
+ property_2 = DocumentProperty.new
2218
+ property_2.name = 'prop2'
2219
+ property_2.value = 'val2'
2155
2220
 
2156
- def test_get_xml_in_storage_to_pdf
2157
- file_name = 'template.xml'
2158
- upload_file(file_name)
2221
+ @pdf_api.put_set_property(file_name, property_1.name, property_1.value, opts)
2222
+ @pdf_api.put_set_property(file_name, property_2.name, property_2.value, opts)
2159
2223
 
2160
- src_path = @temp_folder + '/' + file_name
2161
- response = @pdf_api.get_xml_in_storage_to_pdf(src_path)
2162
- assert(response, 'Failed to convert xml to pdf.')
2224
+ response = @pdf_api.get_document_properties(file_name, opts)
2225
+ assert(response, 'Failed to read document properties')
2163
2226
  end
2164
2227
 
2165
- def test_put_xml_in_storage_to_pdf
2166
- file_name = 'template.xml'
2228
+
2229
+ def test_get_document_property
2230
+ file_name = 'PdfWithAcroForm.pdf'
2167
2231
  upload_file(file_name)
2168
- result_name = 'fromXml.pdf'
2169
2232
 
2170
- src_path = @temp_folder + '/' + file_name
2233
+ property_1 = DocumentProperty.new
2234
+ property_1.name = 'prop1'
2235
+ property_1.value = 'val1'
2236
+
2171
2237
  opts = {
2172
- :dst_folder => @temp_folder
2238
+ :folder => @temp_folder
2173
2239
  }
2174
- response = @pdf_api.put_xml_in_storage_to_pdf(result_name, src_path, opts)
2175
- assert(response, 'Failed to convert xml to pdf.')
2176
- end
2177
2240
 
2178
- def test_get_ps_in_storage_to_pdf
2179
- file_name = 'Typography.PS'
2180
- upload_file(file_name)
2241
+ @pdf_api.put_set_property(file_name, property_1.name, property_1.value, opts)
2181
2242
 
2182
- src_path = @temp_folder + '/' + file_name
2183
- response = @pdf_api.get_ps_in_storage_to_pdf(src_path)
2184
- assert(response, 'Failed to convert ps to pdf.')
2243
+ response = @pdf_api.get_document_property(file_name, property_1.name, opts)
2244
+ assert(response, 'Failed to read document property by name.')
2185
2245
  end
2186
2246
 
2187
- def test_put_ps_in_storage_to_pdf
2188
- file_name = 'Typography.PS'
2247
+
2248
+ def test_put_set_property
2249
+ file_name = 'PdfWithAcroForm.pdf'
2189
2250
  upload_file(file_name)
2190
- result_name = 'fromPs.pdf'
2191
2251
 
2192
- src_path = @temp_folder + '/' + file_name
2252
+ property_name = 'prop1'
2253
+ property_value = 'val1'
2254
+
2193
2255
  opts = {
2194
- :dst_folder => @temp_folder
2256
+ :folder => @temp_folder
2195
2257
  }
2196
- response = @pdf_api.put_ps_in_storage_to_pdf(result_name, src_path, opts)
2197
- assert(response, 'Failed to convert ps to pdf.')
2258
+
2259
+ response = @pdf_api.put_set_property(file_name, property_name, property_value, opts)
2260
+ assert(response, 'Failed to add/update document property.')
2198
2261
  end
2199
2262
 
2200
- def test_put_image_in_storage_to_pdf
2201
- data_file_1 = "33539.jpg"
2202
- upload_file(data_file_1)
2203
2263
 
2204
- data_file_2 = "44781.jpg"
2205
- upload_file(data_file_2)
2264
+ # Sign Tests
2206
2265
 
2207
- result_name = "result.pdf";
2266
+ def test_post_sign_document
2267
+ file_name = 'BlankWithSignature.pdf'
2268
+ upload_file(file_name)
2208
2269
 
2209
- image_template_1 = ImageTemplate.new
2210
- image_template_1.image_path = @temp_folder + '/' + data_file_1
2211
- image_template_1.image_src_type = ImageSrcType::COMMON
2270
+ signature_file_name = 'test1234.pfx'
2271
+ upload_file(signature_file_name)
2212
2272
 
2213
- image_template_2 = ImageTemplate.new
2214
- image_template_2.image_path = @temp_folder + '/' + data_file_2
2215
- image_template_2.image_src_type = ImageSrcType::COMMON
2273
+ rectangle = RectanglePdf.new
2274
+ rectangle.llx = 100
2275
+ rectangle.lly = 100
2276
+ rectangle.urx = 400
2277
+ rectangle.ury = 200
2216
2278
 
2217
- image_templates_request = ImageTemplatesRequest.new
2218
- image_templates_request.is_ocr = true
2219
- image_templates_request.ocr_langs = "eng"
2220
- image_templates_request.images_list = [image_template_1, image_template_2]
2279
+ signature = Signature.new
2280
+ signature.authority = 'Sergey Smal'
2281
+ signature.contact = 'test@mail.ru'
2282
+ signature.date = '08/01/2012 12:15:00.000 PM'
2283
+ signature.form_field_name = 'Signature1'
2284
+ signature.location = 'Ukraine'
2285
+ signature.password = 'test1234'
2286
+ signature.rectangle = rectangle
2287
+ signature.signature_path = @temp_folder + '/' + signature_file_name
2288
+ signature.signature_type = SignatureType::PKCS7
2289
+ signature.visible = true
2221
2290
 
2222
2291
  opts = {
2223
- :dst_folder => @temp_folder
2292
+ :signature => signature,
2293
+ :folder => @temp_folder
2224
2294
  }
2225
2295
 
2226
- response = @pdf_api.put_image_in_storage_to_pdf(result_name, image_templates_request, opts)
2227
- assert(response, 'Failed to convert images to pdf.')
2296
+ response = @pdf_api.post_sign_document(file_name, opts)
2297
+ assert(response, 'Failed to sign document.')
2228
2298
  end
2229
2299
 
2230
- # Page Convert To Images Tests
2300
+ def test_post_sign_page
2301
+ file_name = 'BlankWithSignature.pdf'
2302
+ upload_file(file_name)
2231
2303
 
2232
- def test_get_page_convert_to_tiff
2233
- name = "4pages.pdf"
2234
- upload_file(name)
2304
+ signature_file_name = 'test1234.pfx'
2305
+ upload_file(signature_file_name)
2235
2306
 
2236
- page_number = 2
2237
- opts = {
2238
- :folder => @temp_folder
2239
- }
2307
+ page_number = 1
2240
2308
 
2241
- response = @pdf_api.get_page_convert_to_tiff(name, page_number, opts)
2242
- assert(response, 'Failed to convert page as tiff.')
2243
- end
2309
+ rectangle = RectanglePdf.new
2310
+ rectangle.llx = 100
2311
+ rectangle.lly = 100
2312
+ rectangle.urx = 400
2313
+ rectangle.ury = 200
2314
+
2315
+ signature = Signature.new
2316
+ signature.authority = 'Sergey Smal'
2317
+ signature.contact = 'test@mail.ru'
2318
+ signature.date = '08/01/2012 12:15:00.000 PM'
2319
+ signature.form_field_name = 'Signature1'
2320
+ signature.location = 'Ukraine'
2321
+ signature.password = 'test1234'
2322
+ signature.rectangle = rectangle
2323
+ signature.signature_path = @temp_folder + '/' + signature_file_name
2324
+ signature.signature_type = 'PKCS7'
2325
+ signature.visible = true
2244
2326
 
2245
- def test_put_page_convert_to_tiff
2246
- name = "4pages.pdf"
2247
- upload_file(name)
2248
- result_file = "page.tiff"
2249
- out_path = @temp_folder + '/' + result_file
2250
- page_number = 2
2251
2327
  opts = {
2328
+ :signature => signature,
2252
2329
  :folder => @temp_folder
2253
2330
  }
2254
- response = @pdf_api.put_page_convert_to_tiff(name, page_number, out_path, opts)
2255
- assert(response, 'Failed to convert page as tiff.')
2331
+
2332
+ response = @pdf_api.post_sign_page(file_name, page_number, opts)
2333
+ assert(response, 'Failed to sign page.')
2256
2334
  end
2257
2335
 
2258
- def test_get_page_convert_to_jpeg
2259
- name = "4pages.pdf"
2260
- upload_file(name)
2261
2336
 
2262
- page_number = 2
2337
+ def test_get_verify_signature
2338
+ file_name = 'BlankWithSignature.pdf'
2339
+ upload_file(file_name)
2340
+
2341
+ signature_file_name = 'test1234.pfx'
2342
+ upload_file(signature_file_name)
2343
+
2344
+ rectangle = RectanglePdf.new
2345
+ rectangle.llx = 100
2346
+ rectangle.lly = 100
2347
+ rectangle.urx = 400
2348
+ rectangle.ury = 200
2349
+
2350
+ signature = Signature.new
2351
+ signature.authority = 'Sergey Smal'
2352
+ signature.contact = 'test@mail.ru'
2353
+ signature.date = '08/01/2012 12:15:00.000 PM'
2354
+ signature.form_field_name = 'Signature1'
2355
+ signature.location = 'Ukraine'
2356
+ signature.password = 'test1234'
2357
+ signature.rectangle = rectangle
2358
+ signature.signature_path = @temp_folder + '/' + signature_file_name
2359
+ signature.signature_type = SignatureType::PKCS7
2360
+ signature.visible = true
2361
+
2263
2362
  opts = {
2363
+ :signature => signature,
2264
2364
  :folder => @temp_folder
2265
2365
  }
2266
2366
 
2267
- response = @pdf_api.get_page_convert_to_jpeg(name, page_number, opts)
2268
- assert(response, 'Failed to convert page as jpeg.')
2269
- end
2367
+ response_sign = @pdf_api.post_sign_document(file_name, opts)
2368
+ assert(response_sign, 'Failed to sign document.')
2270
2369
 
2271
- def test_put_page_convert_to_jpeg
2272
- name = "4pages.pdf"
2273
- upload_file(name)
2274
- result_file = "page.jpeg"
2275
- out_path = @temp_folder + '/' + result_file
2276
- page_number = 2
2277
2370
  opts = {
2278
2371
  :folder => @temp_folder
2279
2372
  }
2280
- response = @pdf_api.put_page_convert_to_jpeg(name, page_number, out_path, opts)
2281
- assert(response, 'Failed to convert page as jpeg.')
2373
+ response = @pdf_api.get_verify_signature(file_name, signature.form_field_name, opts)
2374
+ assert(response, 'Failed to verify signature.')
2282
2375
  end
2283
2376
 
2284
- def test_get_page_convert_to_png
2285
- name = "4pages.pdf"
2286
- upload_file(name)
2287
2377
 
2288
- page_number = 2
2289
- opts = {
2290
- :folder => @temp_folder
2291
- }
2378
+ # Text Replace Tests
2379
+
2380
+ def test_post_document_text_replace
2381
+ file_name = 'marketing.pdf'
2382
+ upload_file(file_name)
2383
+
2384
+ rect = RectanglePdf.new
2385
+ rect.llx = 100
2386
+ rect.lly = 100
2387
+ rect.urx = 300
2388
+ rect.ury = 300
2389
+
2390
+ text_replace = TextReplace.new
2391
+ text_replace.old_value = 'market'
2392
+ text_replace.new_value = 'm_a_r_k_e_t'
2393
+ text_replace.regex = false
2394
+ text_replace.rect = rect
2395
+
2396
+ text_replace_list = TextReplaceListRequest.new
2397
+ text_replace_list.text_replaces = [text_replace]
2398
+ text_replace_list.start_index = 0
2399
+ text_replace_list.count_replace = 0
2292
2400
 
2293
- response = @pdf_api.get_page_convert_to_png(name, page_number, opts)
2294
- assert(response, 'Failed to convert page as png.')
2295
- end
2296
2401
 
2297
- def test_put_page_convert_to_png
2298
- name = "4pages.pdf"
2299
- upload_file(name)
2300
- result_file = "page.png"
2301
- out_path = @temp_folder + '/' + result_file
2302
- page_number = 2
2303
2402
  opts = {
2304
2403
  :folder => @temp_folder
2305
2404
  }
2306
- response = @pdf_api.put_page_convert_to_png(name, page_number, out_path, opts)
2307
- assert(response, 'Failed to convert page as png.')
2405
+
2406
+ response = @pdf_api.post_document_text_replace(file_name, text_replace_list, opts)
2407
+ assert(response, 'Filed to replace document text by rect.')
2308
2408
  end
2309
2409
 
2310
- def test_get_page_convert_to_emf
2311
- name = "4pages.pdf"
2312
- upload_file(name)
2313
2410
 
2314
- page_number = 2
2411
+ def test_post_page_text_replace_by_rect
2412
+ file_name = 'marketing.pdf'
2413
+ upload_file(file_name)
2414
+ page_number = 1
2415
+
2416
+ rect = RectanglePdf.new
2417
+ rect.llx = 100
2418
+ rect.lly = 100
2419
+ rect.urx = 300
2420
+ rect.ury = 300
2421
+
2422
+ text_replace = TextReplace.new
2423
+ text_replace.old_value = 'market'
2424
+ text_replace.new_value = 'm_a_r_k_e_t'
2425
+ text_replace.regex = false
2426
+ text_replace.rect = rect
2427
+
2428
+ text_replace_list = TextReplaceListRequest.new
2429
+ text_replace_list.text_replaces = [text_replace]
2430
+ text_replace_list.start_index = 0
2431
+ text_replace_list.count_replace = 0
2432
+
2315
2433
  opts = {
2316
2434
  :folder => @temp_folder
2317
2435
  }
2318
2436
 
2319
- response = @pdf_api.get_page_convert_to_emf(name, page_number, opts)
2320
- assert(response, 'Failed to convert page as emf.')
2437
+ response = @pdf_api.post_page_text_replace(file_name, page_number, text_replace_list, opts)
2438
+ assert(response, 'Filed to replace page text by rect.')
2321
2439
  end
2322
2440
 
2323
- def test_put_page_convert_to_emf
2324
- name = "4pages.pdf"
2325
- upload_file(name)
2326
- result_file = "page.emf"
2327
- out_path = @temp_folder + '/' + result_file
2328
- page_number = 2
2441
+
2442
+ # Text Tests
2443
+
2444
+ def test_get_text
2445
+ file_name = '4pages.pdf'
2446
+ upload_file(file_name)
2447
+
2448
+ llx = 0
2449
+ lly = 0
2450
+ urx = 0
2451
+ ury = 0
2329
2452
  opts = {
2330
2453
  :folder => @temp_folder
2331
2454
  }
2332
- response = @pdf_api.put_page_convert_to_emf(name, page_number, out_path, opts)
2333
- assert(response, 'Failed to convert page as emf.')
2455
+
2456
+ response = @pdf_api.get_text(file_name, llx, lly, urx, ury, opts)
2457
+ assert(response, 'Filed to get document text.')
2334
2458
  end
2335
2459
 
2336
- def test_get_page_convert_to_bmp
2337
- name = "4pages.pdf"
2338
- upload_file(name)
2460
+ def test_get_page_text_by_two_text_on_page
2461
+ file_name = '4pages.pdf'
2462
+ upload_file(file_name)
2339
2463
 
2340
- page_number = 2
2464
+ page_number = 1
2465
+ llx = 0
2466
+ lly = 0
2467
+ urx = 0
2468
+ ury = 0
2341
2469
  opts = {
2470
+ :format => ['First Page', 'Second Page'],
2471
+ # :format => 'First Page',
2342
2472
  :folder => @temp_folder
2343
2473
  }
2344
2474
 
2345
- response = @pdf_api.get_page_convert_to_bmp(name, page_number, opts)
2346
- assert(response, 'Failed to convert page as bmp.')
2475
+ response = @pdf_api.get_page_text(file_name, page_number, llx, lly, urx, ury, opts)
2476
+ assert(response, 'Filed to get document text.')
2347
2477
  end
2348
2478
 
2349
- def test_put_page_convert_to_bmp
2350
- name = "4pages.pdf"
2351
- upload_file(name)
2352
- result_file = "page.bmp"
2353
- out_path = @temp_folder + '/' + result_file
2354
- page_number = 2
2479
+ def test_put_add_text
2480
+ file_name = '4pages.pdf'
2481
+ upload_file(file_name)
2482
+
2483
+ page_number = 1
2484
+
2485
+ rectangle = RectanglePdf.new
2486
+ rectangle.llx = 100
2487
+ rectangle.lly = 100
2488
+ rectangle.urx = 200
2489
+ rectangle.ury = 200
2490
+
2491
+ foreground_color = Color.new
2492
+ foreground_color.a = 0x00
2493
+ foreground_color.r = 0x00
2494
+ foreground_color.g = 0xFF
2495
+ foreground_color.b = 0x00
2496
+
2497
+ background_color = Color.new
2498
+ background_color.a = 0x00
2499
+ background_color.r = 0xFF
2500
+ background_color.g = 0x00
2501
+ background_color.b = 0x00
2502
+
2503
+ text_state = TextState.new
2504
+ text_state.font = 'Arial'
2505
+ text_state.font_size = 10
2506
+ text_state.foreground_color = foreground_color
2507
+ text_state.background_color = background_color
2508
+ text_state.font_style = FontStyles::BOLD
2509
+
2510
+ segment = Segment.new
2511
+ segment.value = 'segment 1'
2512
+ segment.text_state = text_state
2513
+
2514
+ text_line = TextLine.new
2515
+ text_line.horizontal_alignment = TextHorizontalAlignment::RIGHT
2516
+ text_line.segments = [segment]
2517
+
2518
+ paragraph = Paragraph.new
2519
+ paragraph.rectangle = rectangle
2520
+ paragraph.left_margin = 10
2521
+ paragraph.right_margin = 10
2522
+ paragraph.top_margin = 20
2523
+ paragraph.bottom_margin = 20
2524
+ paragraph.horizontal_alignment = TextHorizontalAlignment::FULL_JUSTIFY
2525
+ paragraph.line_spacing = LineSpacing::FONT_SIZE
2526
+ paragraph.rotation = 10
2527
+ paragraph.subsequent_lines_indent = 20
2528
+ paragraph.vertical_alignment = VerticalAlignment::CENTER
2529
+ paragraph.wrap_mode = WrapMode::BY_WORDS
2530
+ paragraph.lines = [text_line]
2531
+
2355
2532
  opts = {
2533
+ :paragraph => paragraph,
2356
2534
  :folder => @temp_folder
2357
2535
  }
2358
- response = @pdf_api.put_page_convert_to_bmp(name, page_number, out_path, opts)
2359
- assert(response, 'Failed to convert page as bmp.')
2536
+
2537
+ response = @pdf_api.put_add_text(file_name, page_number, opts)
2538
+ assert(response, 'Failed to add text to the page.')
2360
2539
  end
2361
2540
 
2362
- def test_get_page_convert_to_gif
2363
- name = "4pages.pdf"
2364
- upload_file(name)
2365
2541
 
2366
- page_number = 2
2367
- opts = {
2368
- :folder => @temp_folder
2369
- }
2542
+ # Upload & Download Tests
2370
2543
 
2371
- response = @pdf_api.get_page_convert_to_gif(name, page_number, opts)
2372
- assert(response, 'Failed to convert page as gif.')
2544
+ def test_put_create
2545
+ file_name = '4pages.pdf'
2546
+
2547
+ response = @pdf_api.put_create(@temp_folder + '/' + file_name, File.open(@test_data_folder + file_name, 'r') { |io| io.read(io.size) } )
2548
+ assert(response, "Failed to upload #{file_name} file.")
2373
2549
  end
2374
2550
 
2375
- def test_put_page_convert_to_gif
2376
- name = "4pages.pdf"
2377
- upload_file(name)
2378
- result_file = "page.gif"
2379
- out_path = @temp_folder + '/' + result_file
2380
- page_number = 2
2381
- opts = {
2382
- :folder => @temp_folder
2383
- }
2384
- response = @pdf_api.put_page_convert_to_gif(name, page_number, out_path, opts)
2385
- assert(response, 'Failed to convert page as gif.')
2551
+ def test_get_download
2552
+ file_name = '4pages.pdf'
2553
+ upload_file(file_name)
2554
+
2555
+
2556
+ response = @pdf_api.get_download(@temp_folder + '/' + file_name)
2557
+ assert(response, "Failed to download #{file_name} file.")
2386
2558
  end
2387
2559
  end
2388
-