{"id":17754,"date":"2015-03-03T16:22:27","date_gmt":"2015-03-03T10:52:27","guid":{"rendered":"https:\/\/2thenew.online\/blog\/?p=17754"},"modified":"2016-12-16T15:32:52","modified_gmt":"2016-12-16T10:02:52","slug":"generate-pdf-for-google-charts-through-javascript","status":"publish","type":"post","link":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/","title":{"rendered":"Generate PDF for Google Charts through Javascript"},"content":{"rendered":"<p>In a previous blog, we learned, <a title=\"Vertical Labels with Google Chart API\" href=\"https:\/\/2thenew.online\/blog\/vertical-labels-with-google-chart-api\/\">how to draw a google chart<\/a>.<\/p>\n<p>Let&#8217;s say, I have 5 graphs on my page and I want to generate a PDF which contains these graphs <a title=\"Javascript development services\" href=\"https:\/\/2thenew.online\/front-end-angularjs-development\">using a JavaScript<\/a>.<\/p>\n<p>For that, we will use <a href=\"https:\/\/github.com\/MrRio\/jsPDF\">jsPDF plugin<\/a>.<\/p>\n<p>Step 1. Create a hidden empty DIV, to store graph-images:<\/p>\n<p>[java]<br \/>\n&lt;div id=&#8217;graph-images&#8217; style=&#8217;display:none&#8217;&gt;&lt;\/div&gt;<br \/>\n[\/java]<\/p>\n<p>Step 2. Update your &#8216;drawMyChart()&#8217; function to get image of chart<\/p>\n<p>[java]<br \/>\nvar data = &#8230;<br \/>\nvar options =<br \/>\n   &#8230;<br \/>\n}<\/p>\n<p>var chart = new google.visualization.ComboChart(document.getElementById(&#8216;chart_div&#8217;)); \/* Define your ComboChart object *\/<br \/>\ngoogle.visualization.events.addListener(chart, &#8216;ready&#8217;, function () {<br \/>\n  var content = &#8216;&lt;img src=&quot;&#8217; + chart.getImageURI() + &#8216;&quot;&gt;&#8217;;<br \/>\n  $(&#8216;#graph-images&#8217;).append(content);<br \/>\n}); \/* Adds a listener to make a image of chart inside a #graph-images*\/<\/p>\n<p>chart.draw(data, options); \/* draw the chart using above define &#8216;data&#8217; and &#8216;options&#8217; *\/<br \/>\n[\/java]<\/p>\n<p>Google Chart API provides access to a PNG image of a chart, using the getImageURI() method. When the chart object is ready an &#8216;img&#8217; tag is appended in the &#8216;#graph-images&#8217; DIV.<\/p>\n<p>Step 3 : Include plugin javascript files : <a href=\"https:\/\/github.com\/MrRio\/jsPDF\/blob\/master\/jspdf.js\">jspdf.js<\/a>, <a href=\"https:\/\/github.com\/eligrey\/FileSaver.js\/blob\/master\/FileSaver.js\">FileSaver.js<\/a>, <a href=\"https:\/\/github.com\/MrRio\/jsPDF\/blob\/master\/libs\/png_support\/zlib.js\">zlib.js<\/a>, <a href=\"https:\/\/github.com\/MrRio\/jsPDF\/blob\/master\/libs\/png_support\/png.js\">png.js<\/a>,<a href=\"https:\/\/github.com\/MrRio\/jsPDF\/blob\/master\/plugins\/addimage.js\">jspdf.plugin.addimage.js<\/a>, and <a href=\"https:\/\/github.com\/MrRio\/jsPDF\/blob\/master\/plugins\/png_support.js\">jspdf.plugin.png_support.js<\/a><\/p>\n<p>Step 4 : Add functionality to generate a PDF of the above saved chart-images:<\/p>\n<p>[java]<br \/>\nfunction generatePDF() {<br \/>\nvar doc = new jsPDF(&#8216;p&#8217;, &#8216;pt&#8217;, &#8216;a4&#8217;, false) \/* Creates a new Document*\/<br \/>\ndoc.setFontSize(15); \/* Define font size for the document *\/<br \/>\nvar yAxis = 30;<br \/>\nvar imageTags = $(&#8216;#graph-images img&#8217;);<br \/>\nfor (var i = 0; i &lt; imageTags.length; i++) {<br \/>\n        if (i % 2 == 0 &amp;&amp; i != 0) { \/* I want only two images in a page *\/<br \/>\n            doc.addPage();  \/* Adds a new page*\/<br \/>\n            yAxis = 30; \/* Re-initializes the value of yAxis for newly added page*\/<br \/>\n        }<br \/>\n        var someText = &#8216;Chart &#8216;+(i+1);<br \/>\n        doc.text(60, yAxis, someText); \/* Add some text in the PDF *\/<br \/>\n        yAxis = yAxis + 20; \/* Update yAxis *\/<br \/>\n        doc.addImage(imageTags[i], &#8216;png&#8217;, 40, yAxis, 530, 350, undefined, &#8216;none&#8217;);<br \/>\n        yAxis = yAxis+ 360; \/* Update yAxis *\/<br \/>\n    }<br \/>\ndoc.save(&#8216;Chart_Report&#8217; + &#8216;.pdf&#8217;) \/* Prompts user to save file on his\/her machine *\/<br \/>\n}<br \/>\n[\/java]<\/p>\n<p>Here we are adding a chart heading and the image for all the charts drawn.<\/p>\n<p>Step 5: Whenever there&#8217;s an error adding any image in the PDF, jsPDF API throws an error &#8216;throw new Error()&#8217; and stops any further processing. For this we can provide exception handling:<\/p>\n<p>[java]<br \/>\n try {<br \/>\n        doc.addImage(imageTags[i], &#8216;png&#8217;, 40, yAxis, 530, 350, undefined, &#8216;none&#8217;);<br \/>\n        yAxis = yAxis+ 360; \/* Update yAxis *\/<br \/>\n    }<br \/>\n    catch (e) {<br \/>\n        doc.text(120, yAxis + 30, &#8216;SOME ERROR OCCURRED WHILE ADDING IMAGE&#8217;);<br \/>\n        yAxis = yAxis + 50 \/* Update yAxis *\/<br \/>\n    }<br \/>\n[\/java]<\/p>\n<p>Our code remains the same, we just need to move doc.addImage(*, *, *, *, *, *) into the try-catch block, so that whenever any error occurs while inserting an\u00a0image inside the PDF, we add following text: &#8216;SOME ERROR OCCURRED WHILE ADDING IMAGE&#8217;, and continue further.<\/p>\n<p>Hope this helps everyone!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In a previous blog, we learned, how to draw a google chart. Let&#8217;s say, I have 5 graphs on my page and I want to generate a PDF which contains these graphs using a JavaScript. For that, we will use jsPDF plugin. Step 1. Create a hidden empty DIV, to store graph-images: [java] &lt;div id=&#8217;graph-images&#8217; [&hellip;]<\/p>\n","protected":false},"author":79,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":49,"footnotes":""},"categories":[7],"tags":[1669,1674,1671,1672,398,1648,1308,1670,1673],"class_list":["post-17754","post","type-post","status-publish","format-standard","hentry","category-grails","tag-charts","tag-client-side","tag-download-report","tag-generate-pdf","tag-google","tag-google-charts","tag-js","tag-jspdf","tag-savefile"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Steps to generate PDF for Google Charts through Javascript\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Mansi Arora\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"Generate PDF for Google Charts through Javascript | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Steps to generate PDF for Google Charts through Javascript\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Generate PDF for Google Charts through Javascript | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Steps to generate PDF for Google Charts through Javascript\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#article\",\"name\":\"Generate PDF for Google Charts through Javascript | TO THE NEW Blog\",\"headline\":\"Generate PDF for Google Charts through Javascript\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mansi\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2015-03-03T16:22:27+05:30\",\"dateModified\":\"2016-12-16T15:32:52+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":14,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#webpage\"},\"articleSection\":\"Grails, charts, client-side, download-report, generate-pdf, Google, google-charts, js, jsPDF, saveFile\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"position\":2,\"name\":\"Grails\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#listItem\",\"name\":\"Generate PDF for Google Charts through Javascript\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#listItem\",\"position\":3,\"name\":\"Generate PDF for Google Charts through Javascript\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/grails\\\/#listItem\",\"name\":\"Grails\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mansi\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mansi\\\/\",\"name\":\"Mansi Arora\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a58f57a35d110e644b024b38bf813f047dd8d76cc2354cdd1ac1ccfe5a2a508d?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Mansi Arora\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/\",\"name\":\"Generate PDF for Google Charts through Javascript | TO THE NEW Blog\",\"description\":\"Steps to generate PDF for Google Charts through Javascript\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/generate-pdf-for-google-charts-through-javascript\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mansi\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/mansi\\\/#author\"},\"datePublished\":\"2015-03-03T16:22:27+05:30\",\"dateModified\":\"2016-12-16T15:32:52+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Generate PDF for Google Charts through Javascript | TO THE NEW Blog","description":"Steps to generate PDF for Google Charts through Javascript","canonical_url":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#article","name":"Generate PDF for Google Charts through Javascript | TO THE NEW Blog","headline":"Generate PDF for Google Charts through Javascript","author":{"@id":"https:\/\/2thenew.online\/blog\/author\/mansi\/#author"},"publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"},"datePublished":"2015-03-03T16:22:27+05:30","dateModified":"2016-12-16T15:32:52+05:30","inLanguage":"en-US","commentCount":14,"mainEntityOfPage":{"@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#webpage"},"articleSection":"Grails, charts, client-side, download-report, generate-pdf, Google, google-charts, js, jsPDF, saveFile"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.online\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","name":"Grails"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","position":2,"name":"Grails","item":"https:\/\/2thenew.online\/blog\/category\/grails\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#listItem","name":"Generate PDF for Google Charts through Javascript"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#listItem","position":3,"name":"Generate PDF for Google Charts through Javascript","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/category\/grails\/#listItem","name":"Grails"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.online\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.online\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.online\/blog\/author\/mansi\/#author","url":"https:\/\/2thenew.online\/blog\/author\/mansi\/","name":"Mansi Arora","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/a58f57a35d110e644b024b38bf813f047dd8d76cc2354cdd1ac1ccfe5a2a508d?s=96&d=mm&r=g","width":96,"height":96,"caption":"Mansi Arora"}},{"@type":"WebPage","@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#webpage","url":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/","name":"Generate PDF for Google Charts through Javascript | TO THE NEW Blog","description":"Steps to generate PDF for Google Charts through Javascript","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.online\/blog\/author\/mansi\/#author"},"creator":{"@id":"https:\/\/2thenew.online\/blog\/author\/mansi\/#author"},"datePublished":"2015-03-03T16:22:27+05:30","dateModified":"2016-12-16T15:32:52+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.online\/blog\/#website","url":"https:\/\/2thenew.online\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"Generate PDF for Google Charts through Javascript | TO THE NEW Blog","og:description":"Steps to generate PDF for Google Charts through Javascript","og:url":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/","og:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"Generate PDF for Google Charts through Javascript | TO THE NEW Blog","twitter:description":"Steps to generate PDF for Google Charts through Javascript","twitter:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"17754","title":null,"description":"Steps to generate PDF for Google Charts through Javascript","keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"","og_object_type":"blog","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 12:01:55","updated":"2024-02-29 08:17:26","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.online\/blog\/category\/grails\/\" title=\"Grails\">Grails<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGenerate PDF for Google Charts through Javascript\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.online\/blog"},{"label":"Grails","link":"https:\/\/2thenew.online\/blog\/category\/grails\/"},{"label":"Generate PDF for Google Charts through Javascript","link":"https:\/\/2thenew.online\/blog\/generate-pdf-for-google-charts-through-javascript\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/17754","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/users\/79"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/comments?post=17754"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/17754\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/media?parent=17754"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/categories?post=17754"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/tags?post=17754"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}