Class: CloudPDF::Doc::Pages::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/CloudPDF/doc/pages/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ void



10
11
12
# File 'lib/CloudPDF/doc/pages/client.rb', line 10

def initialize(client:)
  @client = client
end

Instance Method Details

#delete(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesDelete200Response

Examples:

client.doc.pages.delete(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    key: "value"
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/CloudPDF/doc/pages/client.rb', line 35

def delete(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/delete",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesDelete200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#extract(request_options: {}, **params) ⇒ untyped

A read, not a mutation: the source document is untouched and no event is published. Body is {"pageObjectNumbers": number[]}; the response body is the new PDF.

Examples:

client.doc.pages.extract(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    string: {
      key: "value"
    }
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:

  • (untyped)

Raises:

  • (error_class)


91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# File 'lib/CloudPDF/doc/pages/client.rb', line 91

def extract(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/extract",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  return if code.between?(200, 299)

  error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(response.body, code: code)
end

#flatten(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesFlatten200Response

Examples:

client.doc.pages.flatten(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    key: "value"
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
# File 'lib/CloudPDF/doc/pages/client.rb', line 140

def flatten(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/flatten",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesFlatten200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#insert(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesInsert200Response

Multipart mutation envelope: a body field holding {"destIndex"?: number} (omitted → append) plus a resource:source file part carrying the standalone PDF whose pages are copied in. The inserted copies get fresh page object numbers, returned in insertion order.

Examples:

client.doc.pages.insert(
  doc_id: "docId",
  layer_name: "layerName"
)

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (void)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
# File 'lib/CloudPDF/doc/pages/client.rb', line 192

def insert(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  body = Internal::Multipart::FormData.new

  body.add_part(params[:file].to_form_data_part(name: "file")) if params[:file]

  request = CloudPDF::Internal::Multipart::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/insert",
    body: body,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesInsert200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#insert_blank(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesInsertBlank200Response

Body is {"size": {"width", "height"}, "count"?, "destIndex"?} — size in PDF points, count in [1, 100], destIndex omitted → append.

Examples:

client.doc.pages.insert_blank(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    key: "value"
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# File 'lib/CloudPDF/doc/pages/client.rb', line 243

def insert_blank(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/insert-blank",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesInsertBlank200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#move(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesMove200Response

Examples:

client.doc.pages.move(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    key: "value"
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# File 'lib/CloudPDF/doc/pages/client.rb', line 294

def move(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/move",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesMove200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#rotate(request_options: {}, **params) ⇒ CloudPDF::Types::DocPagesRotate200Response

Examples:

client.doc.pages.rotate(
  doc_id: "docId",
  layer_name: "layerName",
  request: {
    key: "value"
  }
)

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :doc_id (String)
  • :layer_name (String)
  • :document_password (String, nil)

Returns:



345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
# File 'lib/CloudPDF/doc/pages/client.rb', line 345

def rotate(request_options: {}, **params)
  params = CloudPDF::Internal::Types::Utils.normalize_keys(params)
  path_param_names = %i[doc_id layer_name]
  body_params = params.except(*path_param_names)

  headers = {}
  headers["X-Document-Password"] = params[:document_password] if params[:document_password]

  request = CloudPDF::Internal::JSON::Request.new(
    base_url: request_options[:base_url],
    method: "POST",
    path: "v1/docs/#{URI.encode_uri_component(params[:doc_id].to_s)}/layers/#{URI.encode_uri_component(params[:layer_name].to_s)}/pages/rotate",
    headers: headers,
    body: body_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise CloudPDF::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    CloudPDF::Types::DocPagesRotate200Response.load(response.body)
  else
    error_class = CloudPDF::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end