{"id":21253915,"url":"https://github.com/courseorchestra/lo-kts-converter","last_synced_at":"2025-07-14T09:08:59.308Z","repository":{"id":183757617,"uuid":"670682186","full_name":"CourseOrchestra/lo-kts-converter","owner":"CourseOrchestra","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-11T17:42:42.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-15T05:43:59.474Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","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/CourseOrchestra.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2023-07-25T15:36:40.000Z","updated_at":"2023-08-15T08:02:36.000Z","dependencies_parsed_at":"2024-04-11T18:44:43.239Z","dependency_job_id":"2e3c066f-1ebd-4567-9dd5-327d68894e0f","html_url":"https://github.com/CourseOrchestra/lo-kts-converter","commit_stats":null,"previous_names":["courseorchestra/lo-kts-converter"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CourseOrchestra/lo-kts-converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CourseOrchestra%2Flo-kts-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CourseOrchestra%2Flo-kts-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CourseOrchestra%2Flo-kts-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CourseOrchestra%2Flo-kts-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CourseOrchestra","download_url":"https://codeload.github.com/CourseOrchestra/lo-kts-converter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CourseOrchestra%2Flo-kts-converter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265266128,"owners_count":23737173,"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-11-21T03:53:28.127Z","updated_at":"2025-07-14T09:08:59.272Z","avatar_url":"https://github.com/CourseOrchestra.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Libre Office Kotlin Script Converter\n\nThis script allows to convert Open Document Flat XML format (`fodt`) files to `odt`, `pdf` and `docx` formats. \n\nIt has minimum functions and almost no error handling because as a script can be easily tailored to convert in a required way any Open Document files or, in fact, any file that can be opened by [LibreOffice](https://www.libreoffice.org/). \n\nDuring conversion process this very script updates all indexes (Table of Contents, Figure index, Table index etc.) and converts input document simultaneously to all specified formats. You can easily remove this logic or inject your own processing routine in the conversion process.\n\nTo run the script you need just [LibreOffice](https://www.libreoffice.org/), [Java](https://www.java.com/ru/) and [Kotlin](https://kotlinlang.org/). You may also precompile the script and run it without Kotlin.\n\nThere are numerous ways to run Kotlin scripts.\n\nMost straightforward way to convert file `my-writer-doc.odt` to pdf and docx formats is:\n\n```\nkotlin lo-kts-converter.main.kts -i my-writer-doc.odt -f pdf,docx \n```\n\nOr on Linux simply:\n\n```\n./lo-kts-converter.main.kts -i my-writer-doc.odt -f pdf,docx \n```\n\nTo precompile script in a fat `jar` use [kscript project](https://github.com/kscripting/kscript):\n\n```\nkscript --package lo-kts-converter.main.kts\n```\n\nThe compiled `jar` doesn't need Kotlin to run and will start much faster since it needs no time to resolve dependencies and to compile. \n\n```\njava -jar lo-kts-converter.main.jar -i my-writer-doc.odt -f pdf,docx \n```\n\nThe project was created as a part of [Asciidoctor to Open Document converter](https://github.com/CourseOrchestra/asciidoctor-open-document) to render and convert Open Document Flat XML format (fodt) files to odt, pdf and docx formats.\n\nIt was stored in a separate repository as we often use it on its own.\n\nMany thanks to [Dr. Andrew Davison](https://github.com/flywire), the author of [LibreOffice Programming](https://flywire.github.io/lo-p/) project for the general approach and code snippets, which are heavily borrowed in this script.\n\nPlease note that [here](https://python-ooo-dev-tools.readthedocs.io/) you may find [Python](https://www.python.org/) implementation of general purpose converter.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcourseorchestra%2Flo-kts-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcourseorchestra%2Flo-kts-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcourseorchestra%2Flo-kts-converter/lists"}