1.1.0 • Published 5 months ago
soffice v1.1.0
soffice
wrapper of the LibreOffice CLI - convert between office files, pdf, and html files
Features
- Convert between office files, pdf, and html
- word documents (odt, doc, docx)
- spreadsheets (ods, xls, xlsx)
- presentation slides (odp, ppt, pptx)
- Throw error if the conversion is not supported
- Instead of continuing silently (which is the default behavior of soffice)
- Typescript support
Installation
npm install soffice
You can also install soffice
with pnpm, yarn, or slnpm
Usage Example
import { convertToPDF } from 'soffice'
let inputFile = 'res/test.html'
let outputFile = await convertToPDF(inputFile)
console.log(outputFile) // "res/test.pdf"
Typescript Signature
Core Functions:
export function convertToPDF(input_file: string): Promise<string>
export function convertToHTML(input_file: string): Promise<string>
export function convertTo(options: {
input_file: string
convert_to: Format
}): Promise<string>
export type Format =
| 'pdf'
| 'html'
| 'doc'
| 'docx'
| 'odt'
| 'odp'
| 'pptx'
| 'ppt'
| 'ods'
| 'xlsx'
| 'xls'
Helper Functions:
export function is_soffice_installed(): boolean
Error Class:
export class ChildProcessError extends Error {
code: number | null
stdout: string
stderr: string
constructor(
message: string,
code: number | null,
stdout: string,
stderr: string,
)
}
License
This project is licensed with BSD-2-Clause
This is free, libre, and open-source software. It comes down to four essential freedoms [ref]:
- The freedom to run the program as you wish, for any purpose
- The freedom to study how the program works, and change it so it does your computing as you wish
- The freedom to redistribute copies so you can help others
- The freedom to distribute copies of your modified versions to others