Class: GroupDocs::Document::Annotation
- Inherits:
-
Api::Entity
- Object
- Api::Entity
- GroupDocs::Document::Annotation
- Includes:
- Api::Helpers::AccessMode
- Defined in:
- lib/groupdocs/document/annotation.rb
Defined Under Namespace
Classes: MarkerPosition, Reply, Reviewer
Constant Summary collapse
- TYPES =
updated in release 1.7.0
%w(Text Area Point TextStrikeout Polyline TextField Watermark TextReplacement Arrow TextRedaction ResourceRedaction ResourceRedaction TextUnderline Distance All)
Instance Attribute Summary collapse
-
#access ⇒ Symbol
Converts access mode to human-readable format.
- #annotationPosition ⇒ Object
- #backgroundColor ⇒ Object
- #box ⇒ Object
- #createdOn ⇒ Object
- #creatorEmail ⇒ Object
- #creatorGuid ⇒ Object
- #creatorName ⇒ Object
- #document ⇒ Object
- #documentGuid ⇒ Object
- #fieldText ⇒ Object
- #fontColor ⇒ Object
-
#fontFamily ⇒ Object
Returns the value of attribute fontFamily.
-
#fontSize ⇒ Object
Returns the value of attribute fontSize.
- #guid ⇒ Object
-
#height ⇒ Object
Returns the value of attribute height.
- #id ⇒ Object
- #layerId ⇒ Object
-
#pageNumber ⇒ Object
added in release 1.5.8.
-
#penColor ⇒ Object
added in release 1.7.0.
- #penStyle ⇒ Object
- #penWidth ⇒ Object
- #replies ⇒ Object
- #replyGuid ⇒ Object
- #serverTime ⇒ Object
- #sessionGuid ⇒ Object
-
#text ⇒ Object
added in release 2.0.0.
-
#type ⇒ Symbol
Returns type in human-readable format.
- #width ⇒ Object
Instance Method Summary collapse
-
#add_reply(reply) ⇒ Object
Adds reply to annotation.
-
#create!(info, access = {}) ⇒ Object
Creates new annotation.
-
#created_on ⇒ Time
Converts timestamp which is return by API server to Time object.
-
#initialize(options = {}, &blk) ⇒ Annotation
constructor
Creates new GroupDocs::Document::Annotation.
-
#move!(x, y, access = {}) ⇒ Object
Moves annotation to given coordinates.
-
#move_marker!(marker, access = {}) ⇒ Object
Changed in release 1.5.8.
-
#remove!(access = {}) ⇒ Object
Removes annotation.
-
#remove_annotations!(access = {}) ⇒ Object
added in release 1.6.0.
-
#replies!(options = {}, access = {}) ⇒ Array<GroupDocs::Document::Annotation::Reply>
Return an array of replies..
-
#resize!(x, y, access = {}) ⇒ Object
Resize annotation.
-
#set_access!(mode, access = {}) ⇒ Object
Sets access mode.
-
#text_color!(font_color, access = {}) ⇒ Object
Save Text Of Text Color.
-
#text_info!(fieldText, fontFamily, fontSize, access = {}) ⇒ Object
Save Text Of Text Field.
Methods inherited from Api::Entity
Methods included from Api::Helpers::Accessor
Constructor Details
#initialize(options = {}, &blk) ⇒ Annotation
Creates new GroupDocs::Document::Annotation.
107 108 109 110 111 |
# File 'lib/groupdocs/document/annotation.rb', line 107 def initialize( = {}, &blk) super(, &blk) document.is_a?(GroupDocs::Document) or raise ArgumentError, "You have to pass GroupDocs::Document object: #{document.inspect}." end |
Instance Attribute Details
#access ⇒ Symbol
Converts access mode to human-readable format.
34 35 36 |
# File 'lib/groupdocs/document/annotation.rb', line 34 def access @access end |
#annotationPosition ⇒ Object
40 41 42 |
# File 'lib/groupdocs/document/annotation.rb', line 40 def annotationPosition @annotationPosition end |
#backgroundColor ⇒ Object
72 73 74 |
# File 'lib/groupdocs/document/annotation.rb', line 72 def backgroundColor @backgroundColor end |
#box ⇒ Object
36 37 38 |
# File 'lib/groupdocs/document/annotation.rb', line 36 def box @box end |
#createdOn ⇒ Object
30 31 32 |
# File 'lib/groupdocs/document/annotation.rb', line 30 def createdOn @createdOn end |
#creatorEmail ⇒ Object
68 69 70 |
# File 'lib/groupdocs/document/annotation.rb', line 68 def creatorEmail @creatorEmail end |
#creatorGuid ⇒ Object
26 27 28 |
# File 'lib/groupdocs/document/annotation.rb', line 26 def creatorGuid @creatorGuid end |
#creatorName ⇒ Object
66 67 68 |
# File 'lib/groupdocs/document/annotation.rb', line 66 def creatorName @creatorName end |
#document ⇒ Object
16 17 18 |
# File 'lib/groupdocs/document/annotation.rb', line 16 def document @document end |
#documentGuid ⇒ Object
24 25 26 |
# File 'lib/groupdocs/document/annotation.rb', line 24 def documentGuid @documentGuid end |
#fieldText ⇒ Object
45 46 47 |
# File 'lib/groupdocs/document/annotation.rb', line 45 def fieldText @fieldText end |
#fontColor ⇒ Object
49 50 51 |
# File 'lib/groupdocs/document/annotation.rb', line 49 def fontColor @fontColor end |
#fontFamily ⇒ Object
Returns the value of attribute fontFamily.
46 47 48 |
# File 'lib/groupdocs/document/annotation.rb', line 46 def fontFamily @fontFamily end |
#fontSize ⇒ Object
Returns the value of attribute fontSize.
47 48 49 |
# File 'lib/groupdocs/document/annotation.rb', line 47 def fontSize @fontSize end |
#guid ⇒ Object
20 21 22 |
# File 'lib/groupdocs/document/annotation.rb', line 20 def guid @guid end |
#height ⇒ Object
Returns the value of attribute height.
43 44 45 |
# File 'lib/groupdocs/document/annotation.rb', line 43 def height @height end |
#id ⇒ Object
18 19 20 |
# File 'lib/groupdocs/document/annotation.rb', line 18 def id @id end |
#layerId ⇒ Object
70 71 72 |
# File 'lib/groupdocs/document/annotation.rb', line 70 def layerId @layerId end |
#pageNumber ⇒ Object
added in release 1.5.8
53 54 55 |
# File 'lib/groupdocs/document/annotation.rb', line 53 def pageNumber @pageNumber end |
#penColor ⇒ Object
added in release 1.7.0
60 61 62 |
# File 'lib/groupdocs/document/annotation.rb', line 60 def penColor @penColor end |
#penStyle ⇒ Object
64 65 66 |
# File 'lib/groupdocs/document/annotation.rb', line 64 def penStyle @penStyle end |
#penWidth ⇒ Object
62 63 64 |
# File 'lib/groupdocs/document/annotation.rb', line 62 def penWidth @penWidth end |
#replies ⇒ Object
38 39 40 |
# File 'lib/groupdocs/document/annotation.rb', line 38 def replies @replies end |
#replyGuid ⇒ Object
28 29 30 |
# File 'lib/groupdocs/document/annotation.rb', line 28 def replyGuid @replyGuid end |
#serverTime ⇒ Object
55 56 57 |
# File 'lib/groupdocs/document/annotation.rb', line 55 def serverTime @serverTime end |
#sessionGuid ⇒ Object
22 23 24 |
# File 'lib/groupdocs/document/annotation.rb', line 22 def sessionGuid @sessionGuid end |
#text ⇒ Object
added in release 2.0.0
76 77 78 |
# File 'lib/groupdocs/document/annotation.rb', line 76 def text @text end |
#type ⇒ Symbol
Returns type in human-readable format.
32 33 34 |
# File 'lib/groupdocs/document/annotation.rb', line 32 def type @type end |
#width ⇒ Object
42 43 44 |
# File 'lib/groupdocs/document/annotation.rb', line 42 def width @width end |
Instance Method Details
#add_reply(reply) ⇒ Object
Adds reply to annotation.
198 199 200 201 202 203 204 |
# File 'lib/groupdocs/document/annotation.rb', line 198 def add_reply(reply) reply.is_a?(GroupDocs::Document::Annotation::Reply) or raise ArgumentError, "Reply should be GroupDocs::Document::Annotation::Reply object, received: #{reply.inspect}" @replies ||= Array.new @replies << reply end |
#create!(info, access = {}) ⇒ Object
Creates new annotation.
221 222 223 224 225 226 227 228 229 230 231 232 |
# File 'lib/groupdocs/document/annotation.rb', line 221 def create!(info, access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :POST request[:path] = "/ant/{{client_id}}/files/#{document.file.guid}/annotations" request[:request_body] = info end.execute! json.each do |field, value| send(:"#{field}=", value) if respond_to?(:"#{field}=") end end |
#created_on ⇒ Time
Converts timestamp which is return by API server to Time object.
160 161 162 |
# File 'lib/groupdocs/document/annotation.rb', line 160 def created_on Time.at(@createdOn / 1000) end |
#move!(x, y, access = {}) ⇒ Object
Moves annotation to given coordinates.
298 299 300 301 302 303 304 305 306 307 |
# File 'lib/groupdocs/document/annotation.rb', line 298 def move!(x, y, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/position" request[:request_body] = { :x => x, :y => y } end.execute! self.annotation_position = { :x => x, :y => y } end |
#move_marker!(marker, access = {}) ⇒ Object
Changed in release 1.5.8
Moves annotation marker to given coordinates.
319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 |
# File 'lib/groupdocs/document/annotation.rb', line 319 def move_marker!(marker, access = {}) marker.is_a?(GroupDocs::Document::Annotation::MarkerPosition) or raise ArgumentError, "Marker should be GroupDocs::Document::Annotation::MarkerPosition object, received: #{marker.inspect}" Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/markerPosition" request[:request_body] = marker end.execute! if box && page_number box.x = marker.position[:x] box.y = marker.position[:y] page_number = marker.page else self.box = { :x => marker.position[:x], :y => marker.position[:y] } self.page_number = marker.page end end |
#remove!(access = {}) ⇒ Object
Removes annotation.
242 243 244 245 246 247 248 |
# File 'lib/groupdocs/document/annotation.rb', line 242 def remove!(access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/ant/{{client_id}}/annotations/#{guid}" end.execute! end |
#remove_annotations!(access = {}) ⇒ Object
added in release 1.6.0
Removes all annotations from document.
264 265 266 267 268 269 270 271 |
# File 'lib/groupdocs/document/annotation.rb', line 264 def remove_annotations!(access = {}) json = Api::Request.new do |request| request[:access] = access request[:method] = :DELETE request[:path] = "/ant/{{client_id}}/files/#{document.file.guid}/annotations" end.execute! json[:delete_annotation_results] end |
#replies!(options = {}, access = {}) ⇒ Array<GroupDocs::Document::Annotation::Reply>
Return an array of replies..
285 286 287 |
# File 'lib/groupdocs/document/annotation.rb', line 285 def replies!( = {}, access = {}) Document::Annotation::Reply.get!(self, , access) end |
#resize!(x, y, access = {}) ⇒ Object
Resize annotation.
367 368 369 370 371 372 373 374 375 376 |
# File 'lib/groupdocs/document/annotation.rb', line 367 def resize!(x, y, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/size" request[:request_body] = { :width => x, :height => y } end.execute! self.box = { :width => x, :height => y } end |
#set_access!(mode, access = {}) ⇒ Object
Sets access mode.
347 348 349 350 351 352 353 354 355 356 |
# File 'lib/groupdocs/document/annotation.rb', line 347 def set_access!(mode, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/annotationAccess" request[:request_body] = %w(public private).index(mode.to_s) end.execute! self.access = mode end |
#text_color!(font_color, access = {}) ⇒ Object
Save Text Of Text Color.
409 410 411 412 413 414 415 416 417 418 |
# File 'lib/groupdocs/document/annotation.rb', line 409 def text_color!(font_color, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/size" request[:request_body] = { :fontColor => font_color } end.execute! self.fontColor = font_color end |
#text_info!(fieldText, fontFamily, fontSize, access = {}) ⇒ Object
Save Text Of Text Field.
388 389 390 391 392 393 394 395 396 397 398 399 |
# File 'lib/groupdocs/document/annotation.rb', line 388 def text_info!(fieldText, fontFamily, fontSize, access = {}) Api::Request.new do |request| request[:access] = access request[:method] = :PUT request[:path] = "/ant/{{client_id}}/annotations/#{guid}/size" request[:request_body] = { :fieldText => fieldText, :fontFamily => fontFamily, :fontSize => fontSize } end.execute! self.fieldText = fieldText self.fontFamily = fontFamily self.fontSize = fontSize end |