{"id":21259,"date":"2014-11-13T15:49:14","date_gmt":"2014-11-13T15:49:14","guid":{"rendered":"http:\/\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose"},"modified":"2025-02-25T16:27:08","modified_gmt":"2025-02-26T00:27:08","slug":"how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","title":{"rendered":"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose"},"content":{"rendered":"<div class=\"wp-block-cloudinary-markdown \"><p>Many websites and mobile applications with user generated content allow you to upload all kinds of files. Images, PDFs, and Microsoft Office files, such as Word, Excel, and PowerPoint are all common types of uploads.<\/p>\n<p>Web or mobile developers may want to build \u00a0\u00a0applications that allow users to download PDFs, support document previews, or embed image thumbnails of Office files. However, implementing these types of capabilities can be quite a challenging task.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/w_0.5\/aspose_logo_sbtih2.png\" alt=\"aspose\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"205\" height=\"58\"\/><\/p>\n<p><a href=\"http:\/\/www.aspose.com\/\">Aspose<\/a> is one of the leading vendors that deals with file management APIs and conversion between different file formats. Having recently partnered with Aspose, we now offer an <a href=\"https:\/\/cloudinary.com\/documentation\/aspose_document_conversion_addon\">Aspose document conversion add-on<\/a>. As a result, developers are able to upload Office files to Cloudinary, the same way as images, and convert them to PDF documents. Cloudinary can then convert the PDFs to images in order to display and embed them in websites, web applications or mobile apps. In addition, developers can use Cloudinary\u2019s rich set of image transformation capabilities to match the converted images to their sites\u2019 graphic design<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/cloudinary\/image\/upload\/w_600\/aspose_addon_ojofcm.png\" alt=\"aspose add-on\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"600\" height=\"256\"\/><\/p>\n<h2>How to convert Office files to PDFs<\/h2>\n<p>Cloudinary uses Aspose to convert Office files to PDFs. To break it down a bit, you can upload any raw files to Cloudinary, using the API and client libraries, by setting the <code>resource_type<\/code> upload parameter to <code>raw<\/code>. Then, in order to convert the files, just set the <code>raw_convert<\/code> parameter to <code>aspose<\/code> when uploading. That\u2019s it!<\/p>\n<p>Below is a code sample in multiple frameworks that shows how to upload a Word document and request a conversion to PDF using Cloudinary\u2019s Aspose add-on.<\/p>\n<cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;rawCodeSnippet&quot;:&quot;Cloudinary::Uploader.upload(\\&quot;my_file_name.docx\\&quot;, \\n  :public_id =&gt; \\&quot;sample_document.docx\\&quot;, \\n  :resource_type =&gt; &#039;raw&#039;, :raw_convert =&gt; &#039;aspose&#039;)&quot;,&quot;codeSnippet&quot;:&quot;Cloudinary::Uploader.upload(\\&quot;my_file_name.docx\\&quot;, \\n  :public_id =&gt; \\&quot;sample_document.docx\\&quot;, \\n  :resource_type =&gt; &#039;raw&#039;, :raw_convert =&gt; &#039;aspose&#039;)&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;rawCodeSnippet&quot;:&quot;\\\\Cloudinary\\\\Uploader::upload(\\&quot;my_file_name.docx\\&quot;, \\n  array(\\n    \\&quot;public_id\\&quot; =&gt; \\&quot;sample_document.docx\\&quot;,\\n    \\&quot;resource_type\\&quot; =&gt; \\&quot;raw\\&quot;,\\n    \\&quot;raw_convert\\&quot; =&gt; \\&quot;aspose\\&quot;\\n));&quot;,&quot;codeSnippet&quot;:&quot;\\\\Cloudinary\\\\Uploader::upload(\\&quot;my_file_name.docx\\&quot;, \\n  array(\\n    \\&quot;public_id\\&quot; =&gt; \\&quot;sample_document.docx\\&quot;,\\n    \\&quot;resource_type\\&quot; =&gt; \\&quot;raw\\&quot;,\\n    \\&quot;raw_convert\\&quot; =&gt; \\&quot;aspose\\&quot;\\n));&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.uploader.upload(\\&quot;my_file_name.docx\\&quot;,\\n  public_id = \\&quot;sample_document.docx\\&quot;,\\n  resource_type = \\&quot;raw\\&quot;,\\n  raw_convert = \\&quot;aspose\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.uploader.upload(\\&quot;my_file_name.docx\\&quot;,\\n  public_id = \\&quot;sample_document.docx\\&quot;,\\n  resource_type = \\&quot;raw\\&quot;,\\n  raw_convert = \\&quot;aspose\\&quot;)&quot;},{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;javascript&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.uploader.upload(\\&quot;my_file_name.docx\\&quot;, \\n  function(result) { console.log(result); }, \\n    { public_id: \\&quot;sample_document.docx\\&quot;,\\n      resource_type: \\&quot;raw\\&quot;,\\n      raw_convert: \\&quot;aspose\\&quot;\\n});&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.uploader.upload(\\&quot;my_file_name.docx\\&quot;, \\n  function(result) { console.log(result); }, \\n    { public_id: \\&quot;sample_document.docx\\&quot;,\\n      resource_type: \\&quot;raw\\&quot;,\\n      raw_convert: \\&quot;aspose\\&quot;\\n});&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.uploader().upload(\\&quot;my_file_name.docx\\&quot;, Cloudinary.asMap(\\n  \\&quot;public_id\\&quot;, \\&quot;sample_document.docx\\&quot;, \\n  \\&quot;resource_type\\&quot;, \\&quot;raw\\&quot;, \\n  \\&quot;raw_convert\\&quot;, \\&quot;aspose\\&quot;));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.uploader().upload(\\&quot;my_file_name.docx\\&quot;, Cloudinary.asMap(\\n  \\&quot;public_id\\&quot;, \\&quot;sample_document.docx\\&quot;, \\n  \\&quot;resource_type\\&quot;, \\&quot;raw\\&quot;, \\n  \\&quot;raw_convert\\&quot;, \\&quot;aspose\\&quot;));&quot;}]\"\n      parsed-url=\"[]\"\n      with-url=\"false\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget>\n<p>When the conversion is done, an image resource of the generated PDF is also created and stored in your Cloudinary account.<\/p>\n<p>You can then deliver the PDF or further transform it as an image. For example, if a Word document was uploaded as a raw file, and was assigned with the public ID (the uploaded resource\u2019s unique identifier) <code>sample_document.docx<\/code>, it would be available for CDN delivery using the following URL:<\/p>\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/raw\/upload\/sample_document.docx\">https:\/\/res.cloudinary.com\/demo\/raw\/upload\/sample_document.docx<\/a><\/p>\n<p>Once the conversion is complete, a PDF \u2018image\u2019 file is available with a public ID same as the original document\u2019s file name (e.g., <code>sample_document.docx<\/code>). The delivery URL in our example would be as follows:<\/p>\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/sample_document.docx.pdf\">https:\/\/res.cloudinary.com\/demo\/image\/upload\/sample_document.docx.pdf<\/a><\/p>\n<p>Note that the conversion process is the same for Excel and PowerPoint files, as well.<\/p>\n<p>The URL above is an example of Cloudinary URLs that are used to access converted files. They are quickly delivered fully optimized with the appropriate cache settings via Akamai\u2019s CDN.<\/p>\n<h2>How to create thumbnail images and previews<\/h2>\n<p>By leveraging Cloudinary\u2019s various image transformation capabilities, you can convert and transform your generated PDF. Cloudinary supports transformations, such as extracting certain pages, resizing, cropping, creating thumbnails, converting to other formats (i.e. PNG, <a href=\"https:\/\/cloudinary.com\/tools\/compress-jpg\">JPG<\/a> and more), applying filters or effects, and more. Check out <a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations#reference\">Cloudinary\u2019s capabilities here. <\/a><\/p>\n<p>For example, you can use Cloudinary to generate different sizes of thumbnails of your newly created PDF. Depending on your needs, you can set certain dimensions to fit your graphic design, such as width and height.<\/p>\n<p>The 200&#215;300 PNG <a href=\"https:\/\/cloudinary.com\/glossary\/thumbnails\">thumbnail<\/a> below was created using Cloudinary\u2019s dynamic image transformation URL for the first page of the PDF document:<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;sample_document.docx.png\\&quot;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;sample_document.docx.png\\&quot;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;sample_document.docx.png\\&quot; &gt; &lt;Transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;sample_document.docx.png\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;sample_document.docx.png\\&quot; &gt; &lt;cld-transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;sample_document.docx.png\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;sample_document.docx.png\\&quot; &gt; &lt;cl-transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;sample_document.docx.png\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;200\\&quot; height=\\&quot;300\\&quot; crop=\\&quot;fill\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;sample_document.docx.png&#039;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;sample_document.docx.png&#039;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).image(width=200, height=300, crop=\\&quot;fill\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).image(width=200, height=300, crop=\\&quot;fill\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;sample_document.docx.png&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(300));&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;sample_document.docx.png&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(300));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.png\\&quot;, array(\\&quot;width\\&quot;=&gt;200, \\&quot;height\\&quot;=&gt;300, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.png\\&quot;, array(\\&quot;width\\&quot;=&gt;200, \\&quot;height\\&quot;=&gt;300, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(200).height(300).crop(\\&quot;fill\\&quot;)).imageTag(\\&quot;sample_document.docx.png\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(200).height(300).crop(\\&quot;fill\\&quot;)).imageTag(\\&quot;sample_document.docx.png\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.png\\&quot;, width: 200, height: 300, crop: \\&quot;fill\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.png\\&quot;, width: 200, height: 300, crop: \\&quot;fill\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(200).Height(300).Crop(\\&quot;fill\\&quot;)).BuildImageTag(\\&quot;sample_document.docx.png\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(200).Height(300).Crop(\\&quot;fill\\&quot;)).BuildImageTag(\\&quot;sample_document.docx.png\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.png&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(300)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.png&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(300)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(200).setHeight(300).setCrop(\\&quot;fill\\&quot;)).generate(\\&quot;sample_document.docx.png\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(200).setHeight(300).setCrop(\\&quot;fill\\&quot;)).generate(\\&quot;sample_document.docx.png\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(200).height(300).crop(\\&quot;fill\\&quot;)).generate(\\&quot;sample_document.docx.png\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(200).height(300).crop(\\&quot;fill\\&quot;)).generate(\\&quot;sample_document.docx.png\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.png&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(300)));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.png&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(300)));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;sample_document.docx.png\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(300) }) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;sample_document.docx.png\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(300) }) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;sample_document.docx.png\\&quot;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;sample_document.docx.png\\&quot;, {width: 200, height: 300, crop: \\&quot;fill\\&quot;})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.png\\&quot;).resize(\\n  fill().width(200).height(300)\\n);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_200,h_300,c_fill\\\/sample_document.docx.png&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;width&quot;:&quot;200&quot;,&quot;height&quot;:&quot;300&quot;,&quot;crop_mode&quot;:&quot;fill&quot;}],&quot;transformation_string&quot;:&quot;w_200,h_300,c_fill&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;sample_document.docx.png&quot;,&quot;extension&quot;:&quot;png&quot;,&quot;format&quot;:&quot;png&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_300,c_fill\/sample_document.docx.png\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_300,c_fill\/sample_document.docx.png\" alt=\"300x200 PNG thumbnail\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"200\" height=\"300\"\/><\/a><\/p>\n<p>Another example, seen below, is a 200&#215;200 JPEG thumbnail of the second page of the PDF document that was created, with increased saturation, sharpness, and a shadow:<\/p>\n<p><cld-code-widget\n      class=\" c-code-widget\"\n      snippets=\"[{&quot;sdkId&quot;:&quot;nodejs&quot;,&quot;framework&quot;:&quot;nodejs&quot;,&quot;language&quot;:&quot;nodejs&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(\\&quot;sample_document.docx.jpg\\&quot;, {transformation: [ {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;sharpen\\&quot;}, {border: \\&quot;1px_solid_rgb:bbb\\&quot;}, {effect: \\&quot;shadow\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(\\&quot;sample_document.docx.jpg\\&quot;, {transformation: [\\n  {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;sharpen\\&quot;},\\n  {border: \\&quot;1px_solid_rgb:bbb\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;}\\n  ]})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Node.js&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_2&quot;,&quot;framework&quot;:&quot;react_2&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;react&quot;,&quot;framework&quot;:&quot;react&quot;,&quot;language&quot;:&quot;react&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;sample_document.docx.jpg\\&quot; &gt; &lt;Transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;Transformation effect=\\&quot;sharpen\\&quot; \\\/&gt; &lt;Transformation border=\\&quot;1px_solid_rgb:bbb\\&quot; \\\/&gt; &lt;Transformation effect=\\&quot;shadow\\&quot; \\\/&gt; &lt;\\\/Image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;Image publicId=\\&quot;sample_document.docx.jpg\\&quot; &gt;\\n\\t&lt;Transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n\\t&lt;Transformation effect=\\&quot;sharpen\\&quot; \\\/&gt;\\n\\t&lt;Transformation border=\\&quot;1px_solid_rgb:bbb\\&quot; \\\/&gt;\\n\\t&lt;Transformation effect=\\&quot;shadow\\&quot; \\\/&gt;\\n&lt;\\\/Image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React&quot;,&quot;packageName&quot;:&quot;cloudinary-react&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue_2&quot;,&quot;framework&quot;:&quot;vue_2&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/vue&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;vue&quot;,&quot;framework&quot;:&quot;vue&quot;,&quot;language&quot;:&quot;vue&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;sample_document.docx.jpg\\&quot; &gt; &lt;cld-transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt; &lt;cld-transformation effect=\\&quot;sharpen\\&quot; \\\/&gt; &lt;cld-transformation border=\\&quot;1px_solid_rgb:bbb\\&quot; \\\/&gt; &lt;cld-transformation effect=\\&quot;shadow\\&quot; \\\/&gt; &lt;\\\/cld-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cld-image public-id=\\&quot;sample_document.docx.jpg\\&quot; &gt;\\n\\t&lt;cld-transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation effect=\\&quot;sharpen\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation border=\\&quot;1px_solid_rgb:bbb\\&quot; \\\/&gt;\\n\\t&lt;cld-transformation effect=\\&quot;shadow\\&quot; \\\/&gt;\\n&lt;\\\/cld-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Vue.js&quot;,&quot;packageName&quot;:&quot;cloudinary-vue&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular_2&quot;,&quot;framework&quot;:&quot;angular_2&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/ng&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;angular&quot;,&quot;framework&quot;:&quot;angular&quot;,&quot;language&quot;:&quot;angular&quot;,&quot;rawCodeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;sample_document.docx.jpg\\&quot; &gt; &lt;cl-transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation effect=\\&quot;sharpen\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation border=\\&quot;1px_solid_rgb:bbb\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;cl-transformation effect=\\&quot;shadow\\&quot;&gt; &lt;\\\/cl-transformation&gt; &lt;\\\/cl-image&gt;&quot;,&quot;codeSnippet&quot;:&quot;&lt;cl-image public-id=\\&quot;sample_document.docx.jpg\\&quot; &gt;\\n\\t&lt;cl-transformation width=\\&quot;200\\&quot; height=\\&quot;200\\&quot; gravity=\\&quot;north\\&quot; page=\\&quot;2\\&quot; effect=\\&quot;saturation:100\\&quot; crop=\\&quot;fill\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation effect=\\&quot;sharpen\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation border=\\&quot;1px_solid_rgb:bbb\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n\\t&lt;cl-transformation effect=\\&quot;shadow\\&quot;&gt;\\n\\t&lt;\\\/cl-transformation&gt;\\n&lt;\\\/cl-image&gt;&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Angular&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/angular-5.x&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js_2&quot;,&quot;framework&quot;:&quot;js_2&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;@cloudinary\\\/url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;js&quot;,&quot;framework&quot;:&quot;js&quot;,&quot;language&quot;:&quot;js&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.imageTag(&#039;sample_document.docx.jpg&#039;, {transformation: [ {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;sharpen\\&quot;}, {border: \\&quot;1px_solid_rgb:bbb\\&quot;}, {effect: \\&quot;shadow\\&quot;} ]}).toHtml();&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.imageTag(&#039;sample_document.docx.jpg&#039;, {transformation: [\\n  {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;sharpen\\&quot;},\\n  {border: \\&quot;1px_solid_rgb:bbb\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;}\\n  ]}).toHtml();&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;JS&quot;,&quot;packageName&quot;:&quot;cloudinary-core&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;python&quot;,&quot;framework&quot;:&quot;python&quot;,&quot;language&quot;:&quot;python&quot;,&quot;rawCodeSnippet&quot;:&quot;CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;).image(transformation=[ {&#039;width&#039;: 200, &#039;height&#039;: 200, &#039;gravity&#039;: \\&quot;north\\&quot;, &#039;page&#039;: 2, &#039;effect&#039;: \\&quot;saturation:100\\&quot;, &#039;crop&#039;: \\&quot;fill\\&quot;}, {&#039;effect&#039;: \\&quot;sharpen\\&quot;}, {&#039;border&#039;: \\&quot;1px_solid_rgb:bbb\\&quot;}, {&#039;effect&#039;: \\&quot;shadow\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;).image(transformation=[\\n  {&#039;width&#039;: 200, &#039;height&#039;: 200, &#039;gravity&#039;: \\&quot;north\\&quot;, &#039;page&#039;: 2, &#039;effect&#039;: \\&quot;saturation:100\\&quot;, &#039;crop&#039;: \\&quot;fill\\&quot;},\\n  {&#039;effect&#039;: \\&quot;sharpen\\&quot;},\\n  {&#039;border&#039;: \\&quot;1px_solid_rgb:bbb\\&quot;},\\n  {&#039;effect&#039;: \\&quot;shadow\\&quot;}\\n  ])&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Python&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;php_2&quot;,&quot;framework&quot;:&quot;php_2&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;(new ImageTag(&#039;sample_document.docx.jpg&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(200)\\n\\t-&gt;gravity(\\n\\tGravity::compass(\\n\\tCompass::north()))\\n\\t)\\n\\t-&gt;adjust(Adjust::saturation()-&gt;level(100))\\n\\t-&gt;extract(Extract::getPage()-&gt;byNumber(2))\\n\\t-&gt;adjust(Adjust::sharpen())\\n\\t-&gt;border(Border::solid(1,Color::rgb(\\&quot;bbb\\&quot;)))\\n\\t-&gt;effect(Effect::shadow());&quot;,&quot;codeSnippet&quot;:&quot;(new ImageTag(&#039;sample_document.docx.jpg&#039;))\\n\\t-&gt;resize(Resize::fill()-&gt;width(200)\\n-&gt;height(200)\\n\\t-&gt;gravity(\\n\\tGravity::compass(\\n\\tCompass::north()))\\n\\t)\\n\\t-&gt;adjust(Adjust::saturation()-&gt;level(100))\\n\\t-&gt;extract(Extract::getPage()-&gt;byNumber(2))\\n\\t-&gt;adjust(Adjust::sharpen())\\n\\t-&gt;border(Border::solid(1,Color::rgb(\\&quot;bbb\\&quot;)))\\n\\t-&gt;effect(Effect::shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;php&quot;,&quot;framework&quot;:&quot;php&quot;,&quot;language&quot;:&quot;php&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.jpg\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array( array(\\&quot;width\\&quot;=&gt;200, \\&quot;height\\&quot;=&gt;200, \\&quot;gravity\\&quot;=&gt;\\&quot;north\\&quot;, \\&quot;page\\&quot;=&gt;2, \\&quot;effect\\&quot;=&gt;\\&quot;saturation:100\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;), array(\\&quot;effect\\&quot;=&gt;\\&quot;sharpen\\&quot;), array(\\&quot;border\\&quot;=&gt;\\&quot;1px_solid_rgb:bbb\\&quot;), array(\\&quot;effect\\&quot;=&gt;\\&quot;shadow\\&quot;) )))&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.jpg\\&quot;, array(\\&quot;transformation\\&quot;=&gt;array(\\n  array(\\&quot;width\\&quot;=&gt;200, \\&quot;height\\&quot;=&gt;200, \\&quot;gravity\\&quot;=&gt;\\&quot;north\\&quot;, \\&quot;page\\&quot;=&gt;2, \\&quot;effect\\&quot;=&gt;\\&quot;saturation:100\\&quot;, \\&quot;crop\\&quot;=&gt;\\&quot;fill\\&quot;),\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;sharpen\\&quot;),\\n  array(\\&quot;border\\&quot;=&gt;\\&quot;1px_solid_rgb:bbb\\&quot;),\\n  array(\\&quot;effect\\&quot;=&gt;\\&quot;shadow\\&quot;)\\n  )))&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;PHP&quot;,&quot;packageName&quot;:&quot;cloudinary_php&quot;,&quot;packageStatus&quot;:&quot;legacy&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;java&quot;,&quot;framework&quot;:&quot;java&quot;,&quot;language&quot;:&quot;java&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation().width(200).height(200).gravity(\\&quot;north\\&quot;).page(2).effect(\\&quot;saturation:100\\&quot;).crop(\\&quot;fill\\&quot;).chain() .effect(\\&quot;sharpen\\&quot;).chain() .border(\\&quot;1px_solid_rgb:bbb\\&quot;).chain() .effect(\\&quot;shadow\\&quot;)).imageTag(\\&quot;sample_document.docx.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.url().transformation(new Transformation()\\n  .width(200).height(200).gravity(\\&quot;north\\&quot;).page(2).effect(\\&quot;saturation:100\\&quot;).crop(\\&quot;fill\\&quot;).chain()\\n  .effect(\\&quot;sharpen\\&quot;).chain()\\n  .border(\\&quot;1px_solid_rgb:bbb\\&quot;).chain()\\n  .effect(\\&quot;shadow\\&quot;)).imageTag(\\&quot;sample_document.docx.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Java&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;ruby&quot;,&quot;framework&quot;:&quot;ruby&quot;,&quot;language&quot;:&quot;ruby&quot;,&quot;rawCodeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.jpg\\&quot;, transformation: [ {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;sharpen\\&quot;}, {border: \\&quot;1px_solid_rgb:bbb\\&quot;}, {effect: \\&quot;shadow\\&quot;} ])&quot;,&quot;codeSnippet&quot;:&quot;cl_image_tag(\\&quot;sample_document.docx.jpg\\&quot;, transformation: [\\n  {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;sharpen\\&quot;},\\n  {border: \\&quot;1px_solid_rgb:bbb\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;}\\n  ])&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Ruby&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;csharp&quot;,&quot;framework&quot;:&quot;csharp&quot;,&quot;language&quot;:&quot;csharp&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation().Width(200).Height(200).Gravity(\\&quot;north\\&quot;).Page(2).Effect(\\&quot;saturation:100\\&quot;).Crop(\\&quot;fill\\&quot;).Chain() .Effect(\\&quot;sharpen\\&quot;).Chain() .Border(\\&quot;1px_solid_rgb:bbb\\&quot;).Chain() .Effect(\\&quot;shadow\\&quot;)).BuildImageTag(\\&quot;sample_document.docx.jpg\\&quot;)&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.Api.UrlImgUp.Transform(new Transformation()\\n  .Width(200).Height(200).Gravity(\\&quot;north\\&quot;).Page(2).Effect(\\&quot;saturation:100\\&quot;).Crop(\\&quot;fill\\&quot;).Chain()\\n  .Effect(\\&quot;sharpen\\&quot;).Chain()\\n  .Border(\\&quot;1px_solid_rgb:bbb\\&quot;).Chain()\\n  .Effect(\\&quot;shadow\\&quot;)).BuildImageTag(\\&quot;sample_document.docx.jpg\\&quot;)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;.NET&quot;,&quot;packageName&quot;:&quot;CloudinaryDotNet&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;dart&quot;,&quot;framework&quot;:&quot;dart&quot;,&quot;language&quot;:&quot;dart&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(200)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.adjust(Adjust.saturation().level(100))\\n\\t.extract(Extract.getPage().byNumber(2))\\n\\t.adjust(Adjust.sharpen())\\n\\t.border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t.effect(Effect.shadow()));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(200)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.adjust(Adjust.saturation().level(100))\\n\\t.extract(Extract.getPage().byNumber(2))\\n\\t.adjust(Adjust.sharpen())\\n\\t.border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t.effect(Effect.shadow()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Dart&quot;,&quot;packageName&quot;:&quot;cloudinary_dart&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;swift&quot;,&quot;framework&quot;:&quot;swift&quot;,&quot;language&quot;:&quot;swift&quot;,&quot;rawCodeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation().setWidth(200).setHeight(200).setGravity(\\&quot;north\\&quot;).setPage(2).setEffect(\\&quot;saturation:100\\&quot;).setCrop(\\&quot;fill\\&quot;).chain() .setEffect(\\&quot;sharpen\\&quot;).chain() .setBorder(\\&quot;1px_solid_rgb:bbb\\&quot;).chain() .setEffect(\\&quot;shadow\\&quot;)).generate(\\&quot;sample_document.docx.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;codeSnippet&quot;:&quot;imageView.cldSetImage(cloudinary.createUrl().setTransformation(CLDTransformation()\\n  .setWidth(200).setHeight(200).setGravity(\\&quot;north\\&quot;).setPage(2).setEffect(\\&quot;saturation:100\\&quot;).setCrop(\\&quot;fill\\&quot;).chain()\\n  .setEffect(\\&quot;sharpen\\&quot;).chain()\\n  .setBorder(\\&quot;1px_solid_rgb:bbb\\&quot;).chain()\\n  .setEffect(\\&quot;shadow\\&quot;)).generate(\\&quot;sample_document.docx.jpg\\&quot;)!, cloudinary: cloudinary)&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;iOS&quot;,&quot;packageName&quot;:&quot;cloudinary&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;5.x&quot;},{&quot;sdkId&quot;:&quot;android&quot;,&quot;framework&quot;:&quot;android&quot;,&quot;language&quot;:&quot;android&quot;,&quot;rawCodeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation().width(200).height(200).gravity(\\&quot;north\\&quot;).page(2).effect(\\&quot;saturation:100\\&quot;).crop(\\&quot;fill\\&quot;).chain() .effect(\\&quot;sharpen\\&quot;).chain() .border(\\&quot;1px_solid_rgb:bbb\\&quot;).chain() .effect(\\&quot;shadow\\&quot;)).generate(\\&quot;sample_document.docx.jpg\\&quot;);&quot;,&quot;codeSnippet&quot;:&quot;MediaManager.get().url().transformation(new Transformation()\\n  .width(200).height(200).gravity(\\&quot;north\\&quot;).page(2).effect(\\&quot;saturation:100\\&quot;).crop(\\&quot;fill\\&quot;).chain()\\n  .effect(\\&quot;sharpen\\&quot;).chain()\\n  .border(\\&quot;1px_solid_rgb:bbb\\&quot;).chain()\\n  .effect(\\&quot;shadow\\&quot;)).generate(\\&quot;sample_document.docx.jpg\\&quot;);&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Android&quot;,&quot;packageName&quot;:&quot;cloudinary-android&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;3.x&quot;},{&quot;sdkId&quot;:&quot;flutter&quot;,&quot;framework&quot;:&quot;flutter&quot;,&quot;language&quot;:&quot;flutter&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(200)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.adjust(Adjust.saturation().level(100))\\n\\t.extract(Extract.getPage().byNumber(2))\\n\\t.adjust(Adjust.sharpen())\\n\\t.border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t.effect(Effect.shadow()));&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image(&#039;sample_document.docx.jpg&#039;).transformation(Transformation()\\n\\t.resize(Resize.fill().width(200)\\n.height(200)\\n\\t.gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t)\\n\\t.adjust(Adjust.saturation().level(100))\\n\\t.extract(Extract.getPage().byNumber(2))\\n\\t.adjust(Adjust.sharpen())\\n\\t.border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t.effect(Effect.shadow()));&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Flutter&quot;,&quot;packageName&quot;:&quot;cloudinary_flutter&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;kotlin&quot;,&quot;framework&quot;:&quot;kotlin&quot;,&quot;language&quot;:&quot;kotlin&quot;,&quot;rawCodeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;sample_document.docx.jpg\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(200)\\n\\t gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t })\\n\\t adjust(Adjust.saturation() { level(100) })\\n\\t extract(Extract.getPage() { byNumber(2) })\\n\\t adjust(Adjust.sharpen())\\n\\t border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t effect(Effect.shadow()) \\n}.generate()&quot;,&quot;codeSnippet&quot;:&quot;cloudinary.image {\\n\\tpublicId(\\&quot;sample_document.docx.jpg\\&quot;)\\n\\t resize(Resize.fill() { width(200)\\n height(200)\\n\\t gravity(\\n\\tGravity.compass(\\n\\tCompass.north()))\\n\\t })\\n\\t adjust(Adjust.saturation() { level(100) })\\n\\t extract(Extract.getPage() { byNumber(2) })\\n\\t adjust(Adjust.sharpen())\\n\\t border(Border.solid(1,Color.rgb(\\&quot;bbb\\&quot;)))\\n\\t effect(Effect.shadow()) \\n}.generate()&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;Kotlin&quot;,&quot;packageName&quot;:&quot;kotlin-url-gen&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;},{&quot;sdkId&quot;:&quot;jquery&quot;,&quot;framework&quot;:&quot;jquery&quot;,&quot;language&quot;:&quot;jquery&quot;,&quot;rawCodeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;sample_document.docx.jpg\\&quot;, {transformation: [ {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;}, {effect: \\&quot;sharpen\\&quot;}, {border: \\&quot;1px_solid_rgb:bbb\\&quot;}, {effect: \\&quot;shadow\\&quot;} ]})&quot;,&quot;codeSnippet&quot;:&quot;$.cloudinary.image(\\&quot;sample_document.docx.jpg\\&quot;, {transformation: [\\n  {width: 200, height: 200, gravity: \\&quot;north\\&quot;, page: 2, effect: \\&quot;saturation:100\\&quot;, crop: \\&quot;fill\\&quot;},\\n  {effect: \\&quot;sharpen\\&quot;},\\n  {border: \\&quot;1px_solid_rgb:bbb\\&quot;},\\n  {effect: \\&quot;shadow\\&quot;}\\n  ]})&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;jQuery&quot;,&quot;packageName&quot;:&quot;cloudinary-jquery&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;2.x&quot;},{&quot;sdkId&quot;:&quot;react_native&quot;,&quot;framework&quot;:&quot;react_native&quot;,&quot;language&quot;:&quot;react_native&quot;,&quot;rawCodeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;codeSnippet&quot;:&quot;new CloudinaryImage(\\&quot;sample_document.docx.jpg\\&quot;)\\n  .resize(\\n    fill()\\n      .width(200)\\n      .height(200)\\n      .gravity(compass(\\&quot;north\\&quot;))\\n  )\\n  .adjust(saturation().level(100))\\n  .extract(getPage().byNumber(2))\\n  .adjust(sharpen())\\n  .border(solid(1, \\&quot;#bbb\\&quot;))\\n  .effect(shadow());&quot;,&quot;status&quot;:0,&quot;statusText&quot;:&quot;Ok&quot;,&quot;displayName&quot;:&quot;React Native&quot;,&quot;packageName&quot;:&quot;cloudinary-react-native&quot;,&quot;packageStatus&quot;:&quot;&quot;,&quot;packageVersion&quot;:&quot;1.x&quot;}]\"\n      parsed-url=\"{&quot;url&quot;:&quot;https:\\\/\\\/res.cloudinary.com\\\/demo\\\/image\\\/upload\\\/w_200,h_200,c_fill,g_north,pg_2,e_saturation:100\\\/e_sharpen\\\/bo_1px_solid_rgb:bbb\\\/e_shadow\\\/sample_document.docx.jpg&quot;,&quot;cloud_name&quot;:&quot;demo&quot;,&quot;host&quot;:&quot;res.cloudinary.com&quot;,&quot;type&quot;:&quot;upload&quot;,&quot;resource_type&quot;:&quot;image&quot;,&quot;transformation&quot;:[{&quot;width&quot;:&quot;200&quot;,&quot;height&quot;:&quot;200&quot;,&quot;crop_mode&quot;:&quot;fill&quot;,&quot;gravity&quot;:&quot;north&quot;,&quot;page&quot;:&quot;2&quot;,&quot;effect&quot;:&quot;saturation:100&quot;},{&quot;effect&quot;:&quot;sharpen&quot;},{&quot;border&quot;:&quot;1px_solid_rgb:bbb&quot;},{&quot;effect&quot;:&quot;shadow&quot;}],&quot;transformation_string&quot;:&quot;w_200,h_200,c_fill,g_north,pg_2,e_saturation:100\\\/e_sharpen\\\/bo_1px_solid_rgb:bbb\\\/e_shadow&quot;,&quot;url_suffix&quot;:&quot;&quot;,&quot;version&quot;:&quot;&quot;,&quot;secure&quot;:true,&quot;public_id&quot;:&quot;sample_document.docx.jpg&quot;,&quot;extension&quot;:&quot;jpg&quot;,&quot;format&quot;:&quot;jpg&quot;,&quot;format_code&quot;:true,&quot;url_code&quot;:false,&quot;signature&quot;:&quot;&quot;,&quot;private_cdn&quot;:false,&quot;result_asset_type&quot;:&quot;image&quot;}\"\n      with-url=\"true\"\n    >\n      <span class=\"u-visually-hidden\">Loading code examples<\/span>\n    <\/cld-code-widget><a class=\"c-image-link\" href=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_200,c_fill,g_north,pg_2,e_saturation:100\/e_sharpen\/bo_1px_solid_rgb:bbb\/e_shadow\/sample_document.docx.jpg\" target=\"_blank\"><img decoding=\"async\" src=\"https:\/\/res.cloudinary.com\/demo\/image\/upload\/w_200,h_200,c_fill,g_north,pg_2,e_saturation:100\/e_sharpen\/bo_1px_solid_rgb:bbb\/e_shadow\/sample_document.docx.jpg\" alt=\"200x200 JPEG saturation increased sharpened thumbnail\" loading=\"lazy\" class=\"c-transformed-asset\"  width=\"210\" height=\"210\"\/><\/a><\/p>\n<p><a href=\"https:\/\/cloudinary.com\/documentation\/image_transformations#reference\">Learn more about Cloudinary\u2019s image transformation capabilities<\/a>.<\/p>\n<h2>Asynchronous conversion to PDF<\/h2>\n<p><a href=\"https:\/\/cloudinary.com\/documentation\/aspose_document_conversion_addon\">Cloudinary\u2019s Aspose document conversion add-on<\/a> asynchronously converts MS Office documents to PDFs. This means that once the documents are uploaded to Cloudinary, and the upload API is complete, Aspose can complete the conversion. This can take up to a few minutes depending on the size and content of the file. Since the conversion runs in the background, you might want to be notified when it is complete. Therefore, Cloudinary has [a background notifications and webhooks mechanism] (<a href=\"https:\/\/cloudinary.com\/blog\/webhooks_upload_notifications_and_background_image_processing\">https:\/\/cloudinary.com\/blog\/webhooks_upload_notifications_and_background_image_processing<\/a>), that sends an HTTP POST request to a notification URL that you provide when the operation is done.<\/p>\n<p><a href=\"https:\/\/cloudinary.com\/documentation\/aspose_document_conversion_addon\">See our documentation for more details about how to use the Aspose add-on<\/a>.<\/p>\n<h2>Summary<\/h2>\n<p>Developers can use Cloudinary to allow their apps\u2019 users to upload images and documents of any type. Together with the <a href=\"https:\/\/cloudinary.com\/addons#aspose\">Aspose add-on<\/a> you can now easily generate thumbnails from Office documents that can be <a href=\"https:\/\/cloudinary.com\/glossary\/embed-hls\">embedded<\/a> into your web or mobile applications. The Aspose add-on is available with all Cloudinary plans, including the free tier. You can try it out by subscribing to the <a href=\"https:\/\/cloudinary.com\/addons#aspose\">free add-on plan<\/a>.<\/p>\n<p>Not using Cloudinary Yet? <a href=\"https:\/\/cloudinary.com\/users\/register\/free\">Sign up for a free Cloudinary account here<\/a>.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":41,"featured_media":21260,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[91,92,165,176,183,214,229,257],"class_list":["post-21259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-django","tag-dotnet","tag-image-transformation","tag-java","tag-jquery","tag-node","tag-php","tag-ruby-on-rails"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to Create a Thumbnail Image for Office Files<\/title>\n<meta name=\"description\" content=\"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose\" \/>\n<meta property=\"og:description\" content=\"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-11-13T15:49:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-02-26T00:27:08+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs-png?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"1540\" \/>\n\t<meta property=\"og:image:height\" content=\"847\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\"},\"author\":{\"name\":\"\",\"@id\":\"\"},\"headline\":\"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose\",\"datePublished\":\"2014-11-13T15:49:14+00:00\",\"dateModified\":\"2025-02-26T00:27:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\"},\"wordCount\":13,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA\",\"keywords\":[\"Django\",\"DotNet\",\"Image Transformation\",\"Java\",\"jQuery\",\"Node\",\"PHP\",\"Ruby on Rails\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2014\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\",\"url\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\",\"name\":\"How to Create a Thumbnail Image for Office Files\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA\",\"datePublished\":\"2014-11-13T15:49:14+00:00\",\"dateModified\":\"2025-02-26T00:27:08+00:00\",\"description\":\"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA\",\"width\":1540,\"height\":847},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to Create a Thumbnail Image for Office Files","description":"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","og_locale":"en_US","og_type":"article","og_title":"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose","og_description":"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose","og_url":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","og_site_name":"Cloudinary Blog","article_published_time":"2014-11-13T15:49:14+00:00","article_modified_time":"2025-02-26T00:27:08+00:00","og_image":[{"width":1540,"height":847,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs-png?_i=AA","type":"image\/png"}],"twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose"},"author":{"name":"","@id":""},"headline":"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose","datePublished":"2014-11-13T15:49:14+00:00","dateModified":"2025-02-26T00:27:08+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose"},"wordCount":13,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA","keywords":["Django","DotNet","Image Transformation","Java","jQuery","Node","PHP","Ruby on Rails"],"inLanguage":"en-US","copyrightYear":"2014","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","url":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose","name":"How to Create a Thumbnail Image for Office Files","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA","datePublished":"2014-11-13T15:49:14+00:00","dateModified":"2025-02-26T00:27:08+00:00","description":"Learn how to upload Office files to your website or app and convert them to PDF documents and thumbnail creation using Cloudinary and Aspose","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA","width":1540,"height":847},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/how_to_generate_thumbnails_for_office_documents_using_cloudinary_and_aspose#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Create a Thumbnail Image for Office Files using Cloudinary and Aspose"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":""}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649722013\/Web_Assets\/blog\/19_thumbnails_for_office_docs\/19_thumbnails_for_office_docs.png?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21259","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/41"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=21259"}],"version-history":[{"count":8,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21259\/revisions"}],"predecessor-version":[{"id":37031,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/21259\/revisions\/37031"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/21260"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=21259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=21259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=21259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}