{"id":1986,"date":"2010-10-22T12:52:48","date_gmt":"2010-10-22T07:22:48","guid":{"rendered":"https:\/\/2thenew.online\/blog\/?p=1986"},"modified":"2016-12-19T15:04:07","modified_gmt":"2016-12-19T09:34:07","slug":"datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx","status":"publish","type":"post","link":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/","title":{"rendered":"Datamatrix for unique identification of Documents on Server Side with libdmtx"},"content":{"rendered":"<p>I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the <a href=\"https:\/\/2thenew.online\/blog\/qr-code-on-pdf-documents-for-identification-and-detection-on-server-side\/\" target=\"_blank\">QR Code detection<\/a>. However, we had to abandon the use of QR Codes in the document because the library wasn&#8217;t performing reliable, even with QR Codes from image files, which were direct screenshots of the PDF. Add to this, the fact that ZXing was also consuming a lot of memory. We believe that it was just not meant for use in a web application, even though it is a low traffic application which caters to a very specific niche.<\/p>\n<p>We decided to try out <a href=\"http:\/\/en.wikipedia.org\/wiki\/Data_matrix_(computer)\" target=\"_blank\">DataMatrix<\/a>. However,\u00a0 there was a dearth of Free java libraries to render\/detect them and the cost of the paid libraries put us off, as well as the lack of clarity on the respective product sites about whether they can be used from inside a web application.<\/p>\n<p>We found that we could use a free native library named libdmtx, which works on top of Imagemagick to take care of our requirements. There was a java wrapper around it, but we couldn&#8217;t get it working even though we tried the steps mentioned on <a href=\"http:\/\/libdmtx.wikidot.com\/libdmtx-java-wrapper\" target=\"_blank\">their page<\/a>. So after a lot of thought and the consideration that we were not going to migrate to a non Unix platform for any of the environments, we decided to use the library to create images and detect them using the libdmtx-utils.<\/p>\n<p>The service code reads something like this.<\/p>\n<p>[java]<\/p>\n<p>def createAndReturnBytes(String text) {<br \/>\nFile tmpFile = new File(System.getProperty(&#8216;java.io.tmpdir&#8217;) + File.separator + &#8216;tempStringHolder.txt&#8217;) \/\/Temporary file to hold the string to be encoded. Using &#8216;echo&#8217; in the didn&#8217;t work<br \/>\ntmpFile.write(text)<br \/>\ndef p = &quot;dmtxwrite ${tmpFile.absolutePath} -o ${filename}&quot;.execute() \/\/Execute the process<br \/>\np.waitFor() \/\/Wait for the process to complete before proceeding further<br \/>\nbyte[] contents = new File(filename).bytes \/\/Retrieve the bytes from the image file<br \/>\nnew File(filename).delete()<br \/>\nreturn contents \/\/Return the bytes for the image<\/p>\n<p>}<\/p>\n<p> String detectDataMatrix(File file){<br \/>\n def p = &quot;dmtxread -N1 ${file.absolutePath}&quot;.execute().text \/\/-N1 flag to break execution after the first datamatrix on the file has been detected<br \/>\n return p<br \/>\n }<\/p>\n<p>[\/java]<\/p>\n<p>This has been working very reliably for us. To enhance the images further, we may use ImageMagick to crop the area, where we think the datamatrix is and zoom on it before sending the file to the datamatrix service for detection.<\/p>\n<p>Hope this helps someone<\/p>\n<p>Vivek<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn&#8217;t performing reliable, even with QR Codes from image [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":17,"footnotes":""},"categories":[7],"tags":[443,445,4840,444],"class_list":["post-1986","post","type-post","status-publish","format-standard","hentry","category-grails","tag-datamatrix","tag-document-recognition","tag-grails","tag-libdmtx"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn&#039;t performing reliable, even with QR Codes from image\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Vivek Krishna\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/\" \/>\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=\"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn&#039;t performing reliable, even with QR Codes from image\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/\" \/>\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=\"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn&#039;t performing reliable, even with QR Codes from image\" \/>\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\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#article\",\"name\":\"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog\",\"headline\":\"Datamatrix for unique identification of Documents on Server Side with libdmtx\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2010-10-22T12:52:48+05:30\",\"dateModified\":\"2016-12-19T15:04:07+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":2,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#webpage\"},\"articleSection\":\"Grails, datamatrix, document recognition, Grails, libdmtx\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#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\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#listItem\",\"name\":\"Datamatrix for unique identification of Documents on Server Side with libdmtx\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#listItem\",\"position\":3,\"name\":\"Datamatrix for unique identification of Documents on Server Side with libdmtx\",\"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\\\/vivek\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/\",\"name\":\"Vivek Krishna\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/07dba643a97b00215bacf46343f18d6cb7ab45f777264e13c22deb54f2cc830b?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Vivek Krishna\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/\",\"name\":\"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog\",\"description\":\"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn't performing reliable, even with QR Codes from image\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/vivek\\\/#author\"},\"datePublished\":\"2010-10-22T12:52:48+05:30\",\"dateModified\":\"2016-12-19T15:04:07+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":"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog","description":"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn't performing reliable, even with QR Codes from image","canonical_url":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#article","name":"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog","headline":"Datamatrix for unique identification of Documents on Server Side with libdmtx","author":{"@id":"https:\/\/2thenew.online\/blog\/author\/vivek\/#author"},"publisher":{"@id":"https:\/\/2thenew.online\/blog\/#organization"},"datePublished":"2010-10-22T12:52:48+05:30","dateModified":"2016-12-19T15:04:07+05:30","inLanguage":"en-US","commentCount":2,"mainEntityOfPage":{"@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#webpage"},"articleSection":"Grails, datamatrix, document recognition, Grails, libdmtx"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#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\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#listItem","name":"Datamatrix for unique identification of Documents on Server Side with libdmtx"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#listItem","position":3,"name":"Datamatrix for unique identification of Documents on Server Side with libdmtx","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\/vivek\/#author","url":"https:\/\/2thenew.online\/blog\/author\/vivek\/","name":"Vivek Krishna","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/07dba643a97b00215bacf46343f18d6cb7ab45f777264e13c22deb54f2cc830b?s=96&d=mm&r=g","width":96,"height":96,"caption":"Vivek Krishna"}},{"@type":"WebPage","@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#webpage","url":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/","name":"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog","description":"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn't performing reliable, even with QR Codes from image","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.online\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.online\/blog\/author\/vivek\/#author"},"creator":{"@id":"https:\/\/2thenew.online\/blog\/author\/vivek\/#author"},"datePublished":"2010-10-22T12:52:48+05:30","dateModified":"2016-12-19T15:04:07+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":"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog","og:description":"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn't performing reliable, even with QR Codes from image","og:url":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/","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":"Datamatrix for unique identification of Documents on Server Side with libdmtx | TO THE NEW Blog","twitter:description":"I had earlier written a post on how to use QR Code to take care of identification of printed documents and updating the DB based on the QR Code detection. However, we had to abandon the use of QR Codes in the document because the library wasn't performing reliable, even with QR Codes from image","twitter:image":"https:\/\/2thenew.online\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"1986","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","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":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","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-30 08:15:01","updated":"2024-02-29 11:00:21","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\tDatamatrix for unique identification of Documents on Server Side with libdmtx\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":"Datamatrix for unique identification of Documents on Server Side with libdmtx","link":"https:\/\/2thenew.online\/blog\/datamatrix-for-unique-identification-of-documents-on-server-side-with-libdmtx\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/1986","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/comments?post=1986"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/posts\/1986\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/media?parent=1986"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/categories?post=1986"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.online\/blog\/wp-json\/wp\/v2\/tags?post=1986"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}