{"id":16897153,"url":"https://github.com/widgetii/fr2afop","last_synced_at":"2026-05-19T00:06:06.343Z","repository":{"id":137308510,"uuid":"104661654","full_name":"widgetii/fr2afop","owner":"widgetii","description":"FreeReport to Apache FOP Converter","archived":false,"fork":false,"pushed_at":"2017-09-24T17:09:59.000Z","size":4880,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-25T11:29:34.026Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/widgetii.png","metadata":{"files":{"readme":"README.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-24T17:09:17.000Z","updated_at":"2020-12-07T08:53:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"940c06d4-24a9-4e9c-956e-1457df23b9c6","html_url":"https://github.com/widgetii/fr2afop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Ffr2afop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Ffr2afop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Ffr2afop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/widgetii%2Ffr2afop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/widgetii","download_url":"https://codeload.github.com/widgetii/fr2afop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244600725,"owners_count":20479307,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-13T17:35:24.465Z","updated_at":"2026-05-19T00:06:06.315Z","avatar_url":"https://github.com/widgetii.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"========================================================================\n\n                    FreeReport to Apache FOP Converter\n\n========================================================================\n\n'fr2afop' is a Java application that reads a FreeReport file and turns it\ninto a XML document, populating with data, and finally renders the report\nas PDF document or certain other output formats. Apache FOP is used as \nrendering engine.\n\nConverter execution cycle consists of several steps and looks as follows:\n\n1) Convert Free Report file to XML.\n  At this stage converter takes .frf file and produces .xml stream. XML file\n  contains all pages, views and their positions on page, list of variables\n  and other information belonging to a report. The acquired .xml file can be \n  used later as input for converter. When a report is being read from .xml\n  file, the same report instance is restored as it would read from .frf file.\n   \n2) Correct XML output using XSL replacement template.\n  This step is optional. It will be executed only if ReplacementFile is \n  specified in converter configuration. At this stage XML output can be modified\n  by applying any rules that you may define. The rules are specified as XSL \n  templates. For example, you may want to replace a MemoView to BarcodeView \n  sometimes or assign defined value to not-assigned variable.\n\n3) Fetch data from database, place data in XML.\n  This step is optional. It will be applied only if the data sources listed in \n  a report will be defined in convert configuration. FreeReport file does not \n  contain data source definition (like connection settings or SQL query or \n  list of fields). The datasource is defined in Delphi application and we can't\n  get an access to it. So, we define our own datasources in convert configuration\n  file. For details about configuring a converter, see the comments in corresponding \n  configuration files of ./conf directory.\n\n4) Convert XML to XSL-FO.\n  This step precedes rendering. At this stage .xml report file is being converted \n  to XSL-FO format using build-in XSL template. After that the report will be \n  rendered as output, but if you specify XSL-FO transformation (-ofo) instead of\n  rendering, then converter will stop here (you will get .fo file as the result).\n\n5) Render XSL-FO as PDF/PCL/PS output.\n  This is the final stage. The output file will be acquired after that. Converter\n  will go to the next command or will finish process if it was the last one.\n\nConverter can be invoked twice: firstly you start it in order to convert .frf \nfile to .xml, then make any changes in .xml file or populating the data manually,\nfinally you launch converter to render .xml file as PDF output or certain other \noutput formats.\n\nMore details about Free Report engine can be found at\nhttp://freereport.sourceforge.net\n\nNote that not all parts of the FreeReport functionality have yet been\nimplemented. Read release notes in order to understand, what features are not \nready.\n\nApache FOP is part of Apache's XML Graphics project. The homepage of Apache \nFOP is http://xmlgraphics.apache.org/fop/.\n\n\nBUILDING THE APPLICATION\n------------------------\n\n1. Requirements\n\nIn order to build application you will need:\n\t- Maven 3.0.x or later\n\t- JDK 1.6 or later\n\nAlso optional additional software would make it easy for you to work \nwith the sources of the application:\n\n    - Spring Tool Suite IDE (to explore and run the application \n      in IDE). You're obviously free to use any other IDE you wish. \n\n2. Build\n\nTo build the project you need to navigate to the project root folder and \nrun:\n\n\tmvn clean package\n\t\nMaven will read project specification in pom.xml file, will download all \ndependencies, will compile the project source code and build .jar file. \n\n3. Deploy\n\nBy default .jar file is compiled without dependencies. In order to use it \nas console application, you need to add dependencies and configuration files.\nThis was done for you by Maven during packaging. The complete and final\ndistribution was placed in /target/dist/ folder as .zip archive.\n\n4. Sources\n\nDuring packaging Maven places all sources in /target/src/ folder as .zip \narchive.\n\n\nRUNNING THE APPLICATION\n-----------------------\n\nConverter is a console application. Simply run it by typing 'fr2afop' in \nthe command-line. Without any parameters you will receive a screen with \ninstruction on how to call converter from the command-line.\n\nThe converter executes commands in pairs: it takes some input and produces\nsome output. Such input and output parameters are named 'command pair'.\nCommand line can consist of as many command pairs as you want, converter\nwill executes them one by one sequentially. \n\nGeneral usage of converter is as follows:\n  \n\tfr2afop CommandPair1 CommandPair2 CommandPair3 ...  \n\n, where CommandPairX is actually two commands:\n  \n\t-i[fr|fr2217|xml|ttf] inputFile -o[xml|pdf|pcl|ps|png|fo] outputFile\n\nThe input and output formats can belong to any type from listed below:\n\nInput formats:\n ifr     - reads FreeReport file and converts it to xml or renders it\n ifr2217 - reads FreeReport file in old format (version 2217)\n ixml    - reads XML-file acquired after conversion\n ittf    - reads the TTF file and generates an appropriate font metrics xml-file for it\n\nOutput formats:\n oxml    - specifies XML file conversion\n opdf    - specifies PDF rendering\n opcl    - specifies PCL rendering\n ops     - specifies PostScript rendering\n opng    - specifies PNG rendering\n ofo     - specifies XSL-FO transformation\n \nSpecify \\\"-print \u003cPrinter Name\u003e\\\" instead of \\\"-oxxx outputfile\\\" in order to print the \noutput.\n\nIf not specified explicitly configuration files are taken from ./conf directory. For \nadditional details how to specify paths to configuration files, look into contents of\n'fr2afop' batch script.\n\nFor details about configuring a converter, see the comments in corresponding configuration\nfiles of ./conf directory.\n\nThe reports sometimes use different fonts. A new font must be described in converter\nconfiguration, otherwise it will be replaced to existing font. In order to add a new \nfont, you should:\n1) create XML font-metrics file (use -ittf and -oxml as command pair);\n2) copy created XML file and TTF font to /fonts folder; \n3) describe a font in Apache FOP configuration file (see the details in /conf/fop.xconf).\n\n\nRELEASE NOTES\n-------------\n\nVersion 1.0.\n\nThis is first production grade release of \"FreeReport to Apache FOP Converter\".\n\nThe following features of FreeReport engine have NOT been implemented:\n\tPage can't be splitted in columns.\n\tThe following bands are not supported: Detail, SubDetail, Overlay, Group, VarColumn.\n\tLineView and SubReportView are not rendered.\n\tMemoView 'format' flags are not used.\n\tMemoView highlight field is not used.\n\t\nVersion 1.1.\n\n- added print command","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetii%2Ffr2afop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwidgetii%2Ffr2afop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwidgetii%2Ffr2afop/lists"}