examples/api-samples/public/docs/sample11.html in groupdocs-2.2.0 vs examples/api-samples/public/docs/sample11.html in groupdocs-2.3.0

- old
+ new

@@ -1,462 +1,462 @@ -<!DOCTYPE html> - -<html> -<head> - <title>sample11.rb</title> - <meta http-equiv="content-type" content="text/html; charset=UTF-8"> - <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> - <link rel="stylesheet" media="all" href="docco.css" /> -</head> -<body> - <div id="container"> - <div id="background"></div> - - <ul class="sections"> - - <li id="title"> - <div class="annotation"> - <h1>sample11.rb</h1> - </div> - </li> - - - - <li id="section-1"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-1">&#182;</a> - </div> - <p>GET request</p> - - </div> - - <div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span> - haml <span class="hljs-symbol">:sample11</span> -<span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-2"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-2">&#182;</a> - </div> - <p>POST request</p> - - </div> - - <div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div> - - </li> - - - <li id="section-3"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-3">&#182;</a> - </div> - <p>Set variables</p> - - </div> - - <div class="content"><div class='highlight'><pre> set <span class="hljs-symbol">:client_id</span>, params[<span class="hljs-symbol">:clientId</span>] - set <span class="hljs-symbol">:private_key</span>, params[<span class="hljs-symbol">:privateKey</span>] - set <span class="hljs-symbol">:file_id</span>, params[<span class="hljs-symbol">:fileId</span>] - set <span class="hljs-symbol">:annotation_type</span>, params[<span class="hljs-symbol">:annotationType</span>] - set <span class="hljs-symbol">:annotation_id</span>, params[<span class="hljs-symbol">:annotationId</span>] - set <span class="hljs-symbol">:base_path</span>, params[<span class="hljs-symbol">:basePath</span>] - - <span class="hljs-keyword">begin</span></pre></div></div> - - </li> - - - <li id="section-4"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-4">&#182;</a> - </div> - <p>Check required variables</p> - - </div> - - <div class="content"><div class='highlight'><pre> raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> settings.client_id.empty? <span class="hljs-keyword">or</span> settings.private_key.empty? <span class="hljs-keyword">or</span> settings.file_id.empty? <span class="hljs-keyword">or</span> settings.annotation_type.empty?</pre></div></div> - - </li> - - - <li id="section-5"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-5">&#182;</a> - </div> - <p>Prepare base path</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.base_path.empty? - base_path = <span class="hljs-string">'https://api.groupdocs.com'</span> - <span class="hljs-keyword">elsif</span> settings.base_path.match(<span class="hljs-string">'/v2.0'</span>) - base_path = settings.base_path.split(<span class="hljs-string">'/v2.0'</span>)[<span class="hljs-number">0</span>] - <span class="hljs-keyword">else</span> - base_path = settings.base_path - <span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-6"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-6">&#182;</a> - </div> - <p>Configure your access to API server</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-constant">GroupDocs</span>.configure <span class="hljs-keyword">do</span> |groupdocs| - groupdocs.client_id = settings.client_id - groupdocs.private_key = settings.private_key</pre></div></div> - - </li> - - - <li id="section-7"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-7">&#182;</a> - </div> - <p>Optionally specify API server and version</p> - - </div> - - <div class="content"><div class='highlight'><pre> groupdocs.api_server = base_path <span class="hljs-comment"># default is 'https://api.groupdocs.com'</span> - <span class="hljs-keyword">end</span> - - <span class="hljs-keyword">if</span> settings.annotation_id != <span class="hljs-string">''</span> - - file = <span class="hljs-constant">GroupDocs::Storage::File</span>.new({<span class="hljs-symbol">:guid</span> =&gt; settings.file_id}).to_document - annotation = file.annotations!()</pre></div></div> - - </li> - - - <li id="section-8"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-8">&#182;</a> - </div> - <p>Remove annotation from document</p> - - </div> - - <div class="content"><div class='highlight'><pre> remove = annotation.last.remove!() - message = <span class="hljs-string">"You delete the annotation id = <span class="hljs-subst">#{remove[<span class="hljs-symbol">:guid</span>]}</span> "</span> - <span class="hljs-keyword">else</span></pre></div></div> - - </li> - - - <li id="section-9"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-9">&#182;</a> - </div> - <p>Annotation types</p> - - </div> - - <div class="content"><div class='highlight'><pre> types = {<span class="hljs-symbol">:text</span> =&gt; <span class="hljs-string">"0"</span>, <span class="hljs-symbol">:area</span> =&gt; <span class="hljs-string">"1"</span>, <span class="hljs-symbol">:point</span> =&gt; <span class="hljs-string">"2"</span>}</pre></div></div> - - </li> - - - <li id="section-10"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-10">&#182;</a> - </div> - <p>Required parameters</p> - - </div> - - <div class="content"><div class='highlight'><pre> all_params = all_params = [<span class="hljs-string">'annotationType'</span>, <span class="hljs-string">'boxX'</span>, <span class="hljs-string">'boxY'</span>, <span class="hljs-string">'text'</span>]</pre></div></div> - - </li> - - - <li id="section-11"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-11">&#182;</a> - </div> - <p>Added required parameters depends on annotation type [‘text’ or ‘area’]</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span> - all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>, <span class="hljs-string">'annotationPositionX'</span>, <span class="hljs-string">'annotationPositionY'</span>, <span class="hljs-string">'rangePosition'</span>, <span class="hljs-string">'rangeLength'</span>] - <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span> - all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>] - <span class="hljs-keyword">end</span> - pp <span class="hljs-string">"test"</span></pre></div></div> - - </li> - - - <li id="section-12"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-12">&#182;</a> - </div> - <p>raise all_params.to_yaml -Checking required parameters</p> - - </div> - - <div class="content"><div class='highlight'><pre> all_params.each <span class="hljs-keyword">do</span> |param| - raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> params[param].empty? - <span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-13"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-13">&#182;</a> - </div> - <p>Create document object</p> - - </div> - - <div class="content"><div class='highlight'><pre> document = <span class="hljs-constant">GroupDocs::Storage::File</span>.new(<span class="hljs-symbol">guid:</span> settings.file_id).to_document - - <span class="hljs-keyword">unless</span> document.instance_of? <span class="hljs-constant">String</span></pre></div></div> - - </li> - - - <li id="section-14"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-14">&#182;</a> - </div> - <p>Start create new annotation</p> - - </div> - - <div class="content"><div class='highlight'><pre> annotation = <span class="hljs-constant">GroupDocs::Document::Annotation</span>.new(<span class="hljs-symbol">document:</span> document) - - info = <span class="hljs-keyword">nil</span></pre></div></div> - - </li> - - - <li id="section-15"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-15">&#182;</a> - </div> - <p>Construct requestBody depends on annotation type -Text annotation</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span> - annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]} - annotation_position = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'annotationPositionX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'annotationPositionY'</span>]} - range = {<span class="hljs-symbol">position:</span> params[<span class="hljs-string">'rangePosition'</span>], <span class="hljs-symbol">length:</span> params[<span class="hljs-string">'rangeLength'</span>]} - info = { <span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_position, <span class="hljs-symbol">:range</span> =&gt; range, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}]}</pre></div></div> - - </li> - - - <li id="section-16"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-16">&#182;</a> - </div> - <p>Area annotation</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span> - annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]} - annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>} - raise <span class="hljs-string">"test"</span> - info = {<span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}]}</pre></div></div> - - </li> - - - <li id="section-17"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-17">&#182;</a> - </div> - <p>Point annotation</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'point'</span> - annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">height:</span> <span class="hljs-number">0</span>} - annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>} - - info = {<span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}] } - <span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-18"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-18">&#182;</a> - </div> - <p>Call create method</p> - - </div> - - <div class="content"><div class='highlight'><pre> annotation.create!(info) - raise annotation.to_yaml - id = annotation.document.file.id</pre></div></div> - - </li> - - - <li id="section-19"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-19">&#182;</a> - </div> - <p>Get document guid</p> - - </div> - - <div class="content"><div class='highlight'><pre> guid = annotation.document.file.guid</pre></div></div> - - </li> - - - <li id="section-20"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-20">&#182;</a> - </div> - <p>Prepare to sign url</p> - - </div> - - <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"/document-annotation2/embed/<span class="hljs-subst">#{guid}</span>"</span></pre></div></div> - - </li> - - - <li id="section-21"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-21">&#182;</a> - </div> - <p>Construct result string</p> - - </div> - - <div class="content"><div class='highlight'><pre> url = <span class="hljs-constant">GroupDocs::Api::Request</span>.new(<span class="hljs-symbol">:path</span> =&gt; iframe).prepare_and_sign_url</pre></div></div> - - </li> - - - <li id="section-22"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-22">&#182;</a> - </div> - <p>Generate iframe URL</p> - - </div> - - <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">case</span> base_path - <span class="hljs-keyword">when</span> <span class="hljs-string">'https://stage-api-groupdocs.dynabic.com'</span> - iframe = <span class="hljs-string">"https://stage-api-groupdocs.dynabic.com<span class="hljs-subst">#{url}</span>"</span> - <span class="hljs-keyword">when</span> <span class="hljs-string">'https://dev-api-groupdocs.dynabic.com'</span> - iframe = <span class="hljs-string">"https://dev-apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span> - <span class="hljs-keyword">else</span> - iframe = <span class="hljs-string">"https://apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span> - <span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-23"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-23">&#182;</a> - </div> - <p>Make iframe</p> - - </div> - - <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"&lt;iframe id='downloadframe' src='<span class="hljs-subst">#{iframe}</span>' width='800' height='1000'&gt;&lt;/iframe&gt;"</span> - - <span class="hljs-keyword">end</span> - <span class="hljs-keyword">end</span> - - <span class="hljs-keyword">rescue</span> <span class="hljs-constant">Exception</span> =&gt; e - err = e.message - <span class="hljs-keyword">end</span></pre></div></div> - - </li> - - - <li id="section-24"> - <div class="annotation"> - - <div class="pilwrap "> - <a class="pilcrow" href="#section-24">&#182;</a> - </div> - <p>set variables for template</p> - - </div> - - <div class="content"><div class='highlight'><pre> haml <span class="hljs-symbol">:sample11</span>, <span class="hljs-symbol">:locals</span> =&gt; {<span class="hljs-symbol">:clientId</span> =&gt; settings.client_id, - <span class="hljs-symbol">:privateKey</span> =&gt; settings.private_key, - <span class="hljs-symbol">:fileId</span> =&gt; settings.file_id, - <span class="hljs-symbol">:annotationType</span> =&gt; settings.annotation_type, - <span class="hljs-symbol">:annotationId</span> =&gt; id, - <span class="hljs-symbol">:annotationText</span> =&gt; params[<span class="hljs-string">'text'</span>], - <span class="hljs-symbol">:err</span> =&gt; err, - <span class="hljs-symbol">:iframe</span> =&gt; iframe, - <span class="hljs-symbol">:message</span> =&gt; message} -<span class="hljs-keyword">end</span></pre></div></div> - - </li> - - </ul> - </div> -</body> -</html> +<!DOCTYPE html> + +<html> +<head> + <title>sample11.rb</title> + <meta http-equiv="content-type" content="text/html; charset=UTF-8"> + <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"> + <link rel="stylesheet" media="all" href="docco.css" /> +</head> +<body> + <div id="container"> + <div id="background"></div> + + <ul class="sections"> + + <li id="title"> + <div class="annotation"> + <h1>sample11.rb</h1> + </div> + </li> + + + + <li id="section-1"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-1">&#182;</a> + </div> + <p>GET request</p> + + </div> + + <div class="content"><div class='highlight'><pre>get <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span> + haml <span class="hljs-symbol">:sample11</span> +<span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-2"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-2">&#182;</a> + </div> + <p>POST request</p> + + </div> + + <div class="content"><div class='highlight'><pre>post <span class="hljs-string">'/sample-11-how-programmatically-create-and-post-an-annotation-into-document'</span> <span class="hljs-keyword">do</span></pre></div></div> + + </li> + + + <li id="section-3"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-3">&#182;</a> + </div> + <p>Set variables</p> + + </div> + + <div class="content"><div class='highlight'><pre> set <span class="hljs-symbol">:client_id</span>, params[<span class="hljs-symbol">:clientId</span>] + set <span class="hljs-symbol">:private_key</span>, params[<span class="hljs-symbol">:privateKey</span>] + set <span class="hljs-symbol">:file_id</span>, params[<span class="hljs-symbol">:fileId</span>] + set <span class="hljs-symbol">:annotation_type</span>, params[<span class="hljs-symbol">:annotationType</span>] + set <span class="hljs-symbol">:annotation_id</span>, params[<span class="hljs-symbol">:annotationId</span>] + set <span class="hljs-symbol">:base_path</span>, params[<span class="hljs-symbol">:basePath</span>] + + <span class="hljs-keyword">begin</span></pre></div></div> + + </li> + + + <li id="section-4"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-4">&#182;</a> + </div> + <p>Check required variables</p> + + </div> + + <div class="content"><div class='highlight'><pre> raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> settings.client_id.empty? <span class="hljs-keyword">or</span> settings.private_key.empty? <span class="hljs-keyword">or</span> settings.file_id.empty? <span class="hljs-keyword">or</span> settings.annotation_type.empty?</pre></div></div> + + </li> + + + <li id="section-5"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-5">&#182;</a> + </div> + <p>Prepare base path</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.base_path.empty? + base_path = <span class="hljs-string">'https://api.groupdocs.com'</span> + <span class="hljs-keyword">elsif</span> settings.base_path.match(<span class="hljs-string">'/v2.0'</span>) + base_path = settings.base_path.split(<span class="hljs-string">'/v2.0'</span>)[<span class="hljs-number">0</span>] + <span class="hljs-keyword">else</span> + base_path = settings.base_path + <span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-6"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-6">&#182;</a> + </div> + <p>Configure your access to API server</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-constant">GroupDocs</span>.configure <span class="hljs-keyword">do</span> |groupdocs| + groupdocs.client_id = settings.client_id + groupdocs.private_key = settings.private_key</pre></div></div> + + </li> + + + <li id="section-7"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-7">&#182;</a> + </div> + <p>Optionally specify API server and version</p> + + </div> + + <div class="content"><div class='highlight'><pre> groupdocs.api_server = base_path <span class="hljs-comment"># default is 'https://api.groupdocs.com'</span> + <span class="hljs-keyword">end</span> + + <span class="hljs-keyword">if</span> settings.annotation_id != <span class="hljs-string">''</span> + + file = <span class="hljs-constant">GroupDocs::Storage::File</span>.new({<span class="hljs-symbol">:guid</span> =&gt; settings.file_id}).to_document + annotation = file.annotations!()</pre></div></div> + + </li> + + + <li id="section-8"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-8">&#182;</a> + </div> + <p>Remove annotation from document</p> + + </div> + + <div class="content"><div class='highlight'><pre> remove = annotation.last.remove!() + message = <span class="hljs-string">"You delete the annotation id = <span class="hljs-subst">#{remove[<span class="hljs-symbol">:guid</span>]}</span> "</span> + <span class="hljs-keyword">else</span></pre></div></div> + + </li> + + + <li id="section-9"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-9">&#182;</a> + </div> + <p>Annotation types</p> + + </div> + + <div class="content"><div class='highlight'><pre> types = {<span class="hljs-symbol">:text</span> =&gt; <span class="hljs-string">"0"</span>, <span class="hljs-symbol">:area</span> =&gt; <span class="hljs-string">"1"</span>, <span class="hljs-symbol">:point</span> =&gt; <span class="hljs-string">"2"</span>}</pre></div></div> + + </li> + + + <li id="section-10"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-10">&#182;</a> + </div> + <p>Required parameters</p> + + </div> + + <div class="content"><div class='highlight'><pre> all_params = all_params = [<span class="hljs-string">'annotationType'</span>, <span class="hljs-string">'boxX'</span>, <span class="hljs-string">'boxY'</span>, <span class="hljs-string">'text'</span>]</pre></div></div> + + </li> + + + <li id="section-11"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-11">&#182;</a> + </div> + <p>Added required parameters depends on annotation type [‘text’ or ‘area’]</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span> + all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>, <span class="hljs-string">'annotationPositionX'</span>, <span class="hljs-string">'annotationPositionY'</span>, <span class="hljs-string">'rangePosition'</span>, <span class="hljs-string">'rangeLength'</span>] + <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span> + all_params = all_params | [<span class="hljs-string">'boxWidth'</span>, <span class="hljs-string">'boxHeight'</span>] + <span class="hljs-keyword">end</span> + pp <span class="hljs-string">"test"</span></pre></div></div> + + </li> + + + <li id="section-12"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-12">&#182;</a> + </div> + <p>raise all_params.to_yaml +Checking required parameters</p> + + </div> + + <div class="content"><div class='highlight'><pre> all_params.each <span class="hljs-keyword">do</span> |param| + raise <span class="hljs-string">'Please enter all required parameters'</span> <span class="hljs-keyword">if</span> params[param].empty? + <span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-13"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-13">&#182;</a> + </div> + <p>Create document object</p> + + </div> + + <div class="content"><div class='highlight'><pre> document = <span class="hljs-constant">GroupDocs::Storage::File</span>.new(<span class="hljs-symbol">guid:</span> settings.file_id).to_document + + <span class="hljs-keyword">unless</span> document.instance_of? <span class="hljs-constant">String</span></pre></div></div> + + </li> + + + <li id="section-14"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-14">&#182;</a> + </div> + <p>Start create new annotation</p> + + </div> + + <div class="content"><div class='highlight'><pre> annotation = <span class="hljs-constant">GroupDocs::Document::Annotation</span>.new(<span class="hljs-symbol">document:</span> document) + + info = <span class="hljs-keyword">nil</span></pre></div></div> + + </li> + + + <li id="section-15"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-15">&#182;</a> + </div> + <p>Construct requestBody depends on annotation type +Text annotation</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">if</span> settings.annotation_type == <span class="hljs-string">'text'</span> + annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]} + annotation_position = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'annotationPositionX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'annotationPositionY'</span>]} + range = {<span class="hljs-symbol">position:</span> params[<span class="hljs-string">'rangePosition'</span>], <span class="hljs-symbol">length:</span> params[<span class="hljs-string">'rangeLength'</span>]} + info = { <span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_position, <span class="hljs-symbol">:range</span> =&gt; range, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}]}</pre></div></div> + + </li> + + + <li id="section-16"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-16">&#182;</a> + </div> + <p>Area annotation</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'area'</span> + annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> params[<span class="hljs-string">'boxWidth'</span>], <span class="hljs-symbol">height:</span> params[<span class="hljs-string">'boxHeight'</span>]} + annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>} + raise <span class="hljs-string">"test"</span> + info = {<span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}]}</pre></div></div> + + </li> + + + <li id="section-17"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-17">&#182;</a> + </div> + <p>Point annotation</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">elsif</span> settings.annotation_type == <span class="hljs-string">'point'</span> + annotation_box = {<span class="hljs-symbol">x:</span> params[<span class="hljs-string">'boxX'</span>], <span class="hljs-symbol">y:</span> params[<span class="hljs-string">'boxY'</span>], <span class="hljs-symbol">width:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">height:</span> <span class="hljs-number">0</span>} + annotation_annotationPosition = {<span class="hljs-symbol">x:</span> <span class="hljs-number">0</span>, <span class="hljs-symbol">y:</span> <span class="hljs-number">0</span>} + + info = {<span class="hljs-symbol">:box</span> =&gt; annotation_box, <span class="hljs-symbol">:annotationPosition</span> =&gt; annotation_annotationPosition, <span class="hljs-symbol">:type</span> =&gt; types[settings.annotation_type.to_sym], <span class="hljs-symbol">:replies</span> =&gt; [{<span class="hljs-symbol">:text</span> =&gt; params[<span class="hljs-string">'text'</span>]}] } + <span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-18"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-18">&#182;</a> + </div> + <p>Call create method</p> + + </div> + + <div class="content"><div class='highlight'><pre> annotation.create!(info) + raise annotation.to_yaml + id = annotation.document.file.id</pre></div></div> + + </li> + + + <li id="section-19"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-19">&#182;</a> + </div> + <p>Get document guid</p> + + </div> + + <div class="content"><div class='highlight'><pre> guid = annotation.document.file.guid</pre></div></div> + + </li> + + + <li id="section-20"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-20">&#182;</a> + </div> + <p>Prepare to sign url</p> + + </div> + + <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"/document-annotation2/embed/<span class="hljs-subst">#{guid}</span>"</span></pre></div></div> + + </li> + + + <li id="section-21"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-21">&#182;</a> + </div> + <p>Construct result string</p> + + </div> + + <div class="content"><div class='highlight'><pre> url = <span class="hljs-constant">GroupDocs::Api::Request</span>.new(<span class="hljs-symbol">:path</span> =&gt; iframe).prepare_and_sign_url</pre></div></div> + + </li> + + + <li id="section-22"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-22">&#182;</a> + </div> + <p>Generate iframe URL</p> + + </div> + + <div class="content"><div class='highlight'><pre> <span class="hljs-keyword">case</span> base_path + <span class="hljs-keyword">when</span> <span class="hljs-string">'https://stage-api-groupdocs.dynabic.com'</span> + iframe = <span class="hljs-string">"https://stage-api-groupdocs.dynabic.com<span class="hljs-subst">#{url}</span>"</span> + <span class="hljs-keyword">when</span> <span class="hljs-string">'https://dev-api-groupdocs.dynabic.com'</span> + iframe = <span class="hljs-string">"https://dev-apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span> + <span class="hljs-keyword">else</span> + iframe = <span class="hljs-string">"https://apps.groupdocs.com<span class="hljs-subst">#{url}</span>"</span> + <span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-23"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-23">&#182;</a> + </div> + <p>Make iframe</p> + + </div> + + <div class="content"><div class='highlight'><pre> iframe = <span class="hljs-string">"&lt;iframe id='downloadframe' src='<span class="hljs-subst">#{iframe}</span>' width='800' height='1000'&gt;&lt;/iframe&gt;"</span> + + <span class="hljs-keyword">end</span> + <span class="hljs-keyword">end</span> + + <span class="hljs-keyword">rescue</span> <span class="hljs-constant">Exception</span> =&gt; e + err = e.message + <span class="hljs-keyword">end</span></pre></div></div> + + </li> + + + <li id="section-24"> + <div class="annotation"> + + <div class="pilwrap "> + <a class="pilcrow" href="#section-24">&#182;</a> + </div> + <p>set variables for template</p> + + </div> + + <div class="content"><div class='highlight'><pre> haml <span class="hljs-symbol">:sample11</span>, <span class="hljs-symbol">:locals</span> =&gt; {<span class="hljs-symbol">:clientId</span> =&gt; settings.client_id, + <span class="hljs-symbol">:privateKey</span> =&gt; settings.private_key, + <span class="hljs-symbol">:fileId</span> =&gt; settings.file_id, + <span class="hljs-symbol">:annotationType</span> =&gt; settings.annotation_type, + <span class="hljs-symbol">:annotationId</span> =&gt; id, + <span class="hljs-symbol">:annotationText</span> =&gt; params[<span class="hljs-string">'text'</span>], + <span class="hljs-symbol">:err</span> =&gt; err, + <span class="hljs-symbol">:iframe</span> =&gt; iframe, + <span class="hljs-symbol">:message</span> =&gt; message} +<span class="hljs-keyword">end</span></pre></div></div> + + </li> + + </ul> + </div> +</body> +</html>