{"id":172,"date":"2009-07-22T04:49:00","date_gmt":"2009-07-22T04:49:00","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=172"},"modified":"2009-07-22T04:49:00","modified_gmt":"2009-07-22T04:49:00","slug":"file-to-pdf-conversion-using-fop","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/","title":{"rendered":"File to PDF conversion using FOP"},"content":{"rendered":"<p>FOP i.e. Formatting Objects Processor is one of the very efficient print formatter driven by XSL formatting objects. It is an application which is based on JAVA that reads a formatting object tree and then converts it to the desired output format according to the requirement and parameters we specify.<\/p>\n<p>The formatting object tree can be in the form of an XML document (output by an XSLT engine like XT or Xalan) or can be passed in memory as a DOM.<\/p>\n<p><strong>Sage CRM and FOP:<\/strong><\/p>\n<p>Sage CRM makes use of the APACHE FOP in order to deal with all the PDF reports getting generated in CRM. This is installed by default in your C:program filesFOP folder when you do standard sage CRM installation.<\/p>\n<p><strong>Any file format to PDF using FOP:<\/strong><\/p>\n<p>As we have already discussed above, FOP takes various formatting object trees as an input and processes them to the desired output format for e.g. PDF.<\/p>\n<p>To convert any file to PDF, you cannot go for the pure ASP coding as everything gets stuck in the user rights and IUSR doesn\u2019t get proper permissions to access the applications across the domains. The only thing you can do is, you can make use of the DOT net technology. You can make use of either C# dot net or VB.NET code to convert your files to PDF. You can follow one of the following two methodologies.<\/p>\n<p>1. Install the third party PDF conversion software (e.g. Adobe PDF Distiller, PDF995 etc.) and make a call to these printers passing your document as an input parameter to generate a PDF file from your managed code as explained above.<\/p>\n<p>2. Make use of already existing FOP in your system and there is no need of any other third party tool for file to PDF conversion.<\/p>\n<p>Converting any file format for e.g. Word, excel to PDF using FOP involves the two basic steps as shown in the below screenshot.<\/p>\n<p><a href=\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s1600-h\/fop+working.JPG\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" id=\"BLOGGER_PHOTO_ID_5361145541949648178\" style=\"DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 400px; CURSOR: hand; HEIGHT: 304px; TEXT-ALIGN: center\" alt=\"\" src=\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG\" border=\"0\" \/><\/a><\/p>\n<p>First of all we have to convert a file to the XML data format. (Note: If you are converting excel file first of all you may need to create XML map in your excel sheet.)<\/p>\n<p>This XML document can be directly passed to FOP as an input parameter as per the standard functionality, but FOP throws an error as it doesn&#8217;t identify the tags in the document. For passing input to FOP, first you have to create the format of FO based tags and for that reason only we have to make use of style sheet. We can create an XSL-FO style sheet with the FO tags which collects the data from xml file created above.<\/p>\n<p>We can pass both these xml and xsl files as input parameters to FOP. FOP then identifies both the files by referring styling elements from style sheet and data from xml file and passes them to the formatter.<\/p>\n<p>Formatter makes use of the standard inbuilt files installed in the FOP installation directory and generates the common resultant output file as PDF document.<\/p>\n<p><marquee width=\"80%\"><b>If you find this content useful, Please drop us an email at <a title=\"mailto:crm@greytrix.com\" href=\"mailto:crm@greytrix.com\">crm@greytrix.com<\/a>. <\/b><\/marquee><\/p>\n","protected":false},"excerpt":{"rendered":"<p>FOP i.e. Formatting Objects Processor is one of the very efficient print formatter driven by XSL formatting objects. It is an application which is based on JAVA that reads a formatting object tree and then converts it to the desired output format according to the requirement and parameters we specify. The formatting object tree can\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[1120,1172,1753],"class_list":["post-172","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-exportexport-to-pdf","tag-fop","tag-pdf"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"FOP i.e. Formatting Objects Processor is one of the very efficient print formatter driven by XSL formatting objects. It is an application which is based on JAVA that reads a formatting object tree and then converts it to the desired output format according to the requirement and parameters we specify. The formatting object tree can\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2009-07-22T04:49:00+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG\" \/>\n<meta name=\"author\" content=\"greysagecrm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"greysagecrm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\",\"name\":\"File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG\",\"datePublished\":\"2009-07-22T04:49:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage\",\"url\":\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG\",\"contentUrl\":\"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"File to PDF conversion using FOP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\",\"name\":\"Sage CRM \u2013 Tips, Tricks and Components\",\"description\":\"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\",\"name\":\"greysagecrm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"caption\":\"greysagecrm\"},\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components","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:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/","og_locale":"en_US","og_type":"article","og_title":"File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components","og_description":"FOP i.e. Formatting Objects Processor is one of the very efficient print formatter driven by XSL formatting objects. It is an application which is based on JAVA that reads a formatting object tree and then converts it to the desired output format according to the requirement and parameters we specify. The formatting object tree can\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2009-07-22T04:49:00+00:00","og_image":[{"url":"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG","type":"","width":"","height":""}],"author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/","name":"File to PDF conversion using FOP - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage"},"image":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage"},"thumbnailUrl":"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG","datePublished":"2009-07-22T04:49:00+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#primaryimage","url":"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG","contentUrl":"http:\/\/3.bp.blogspot.com\/_A6_b0zkYeSY\/Smadd0ET7TI\/AAAAAAAAAeo\/XW2vKKAc9J4\/s400\/fop+working.JPG"},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2009\/07\/22\/file-to-pdf-conversion-using-fop\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"File to PDF conversion using FOP"}]},{"@type":"WebSite","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/","name":"Sage CRM \u2013 Tips, Tricks and Components","description":"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f","name":"greysagecrm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","caption":"greysagecrm"},"url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/172","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/comments?post=172"}],"version-history":[{"count":0,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/172\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=172"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=172"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=172"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}