{"id":141,"date":"2009-09-05T03:34:59","date_gmt":"2009-09-05T10:34:59","guid":{"rendered":"http:\/\/www.quickpdflibrary.com\/blog\/?p=141"},"modified":"2009-09-05T03:34:59","modified_gmt":"2009-09-05T10:34:59","slug":"why-is-a-pdf-sdk-necessary-why-cant-i-go-it-alone","status":"publish","type":"post","link":"https:\/\/www.quickpdflibrary.com\/blog\/2009\/09\/why-is-a-pdf-sdk-necessary-why-cant-i-go-it-alone\/","title":{"rendered":"Why Is A PDF SDK Necessary? Why Can&#8217;t I Go It Alone?"},"content":{"rendered":"<p><em>Why is a PDF SDK necessary? Why can&#8217;t I write the necessary code myself?<\/em><\/p>\n<p>This isn&#8217;t a question we often get &#8212; generally speaking, if a developer has contacted us, it&#8217;s because they already know the answer. But it is a question that I quite frequently see on the developer Q &amp; A site, <a href=\"http:\/\/stackoverflow.com\/\">StackOverflow.com<\/a>.<\/p>\n<p>Some programmers &#8212; and lets be fair, managers &#8212; are notorious for having a do-it-yourself attitude. This in itself isn&#8217;t a bad quality, in fact, in a lot of cases, it&#8217;s a great quality, but there are other times when it&#8217;s more of a hindrance than a benefit.<\/p>\n<p>Lets look at adding PDF functionality to an application, as an example. PDF is an ISO standard and the PDF reference, which describes very aspect of the PDF format, is <a href=\"http:\/\/www.adobe.com\/devnet\/pdf\/pdf_reference.html\">freely available online<\/a>. Anyone can download the PDF reference, decipher it and then build their own PDF library to handle their PDF needs.<\/p>\n<p style=\"text-align: center;\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-154\" style=\"border: 1px solid #F8F8F8;\" title=\"PDF code\" src=\"http:\/\/www.quickpdflibrary.com\/blog\/wp-content\/uploads\/2009\/09\/pdf-internals2.jpg\" alt=\"PDF code\" width=\"528\" height=\"117\" srcset=\"https:\/\/www.quickpdflibrary.com\/blog\/wp-content\/uploads\/2009\/09\/pdf-internals2.jpg 814w, https:\/\/www.quickpdflibrary.com\/blog\/wp-content\/uploads\/2009\/09\/pdf-internals2-300x66.jpg 300w\" sizes=\"auto, (max-width: 528px) 100vw, 528px\" \/><\/p>\n<p>But most don&#8217;t.<\/p>\n<p>The reason is pretty simple: the PDF specification is a large and complex document and it&#8217;s contents aren&#8217;t easily deciphered. Reading and understanding the entire PDF specification, or even more than just a small bit, takes more than a casual weekend &#8212; indeed it can take years to fully understand the full scope of the format. What&#8217;s more, not all PDFs are created in 100% accordance with the PDF specification. Due to the high number of PDF producers available, there is a lot of poorly constructed PDFs floating around &#8212; which you&#8217;ll have to account for if you&#8217;re creating a serious business application. And unfortunately, this is quite a time consuming task.<\/p>\n<p>All of this means that unless your in the business of developing complete PDF solutions, it&#8217;s probably not worth your time or money to go it alone and develop an in-house solution, when you could simply purchase a third-party library for a few hundred dollars and save yourself hours, and hours, and hours of work.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Why is a PDF SDK necessary? Why can&#8217;t I write the necessary code myself? This isn&#8217;t a question we often get &#8212; generally speaking, if a developer has contacted us, it&#8217;s because they already know the answer. But it is a question that I quite frequently see on the developer Q &amp; A site, StackOverflow.com. [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,6],"tags":[9,68,15],"class_list":["post-141","post","type-post","status-publish","format-standard","hentry","category-quick-pdf-library","category-tips-and-tutorials","tag-pdf-library","tag-pdf-reference","tag-pdf-sdk"],"_links":{"self":[{"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/posts\/141","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":20,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":165,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/posts\/141\/revisions\/165"}],"wp:attachment":[{"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/media?parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/categories?post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.quickpdflibrary.com\/blog\/wp-json\/wp\/v2\/tags?post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}