Files
video2document/services/modules/save-file/convert.js
T
2025-12-11 13:03:04 +01:00

32 lines
906 B
JavaScript

#!/usr/bin/env node
//Call with convert.js <input.md> <output.pdf|docx|html|odt>
const { execSync } = require('child_process');
const fs = require('fs');
const path = require('path');
const args = process.argv.slice(2);
if (args.length < 2) {
console.log('Usage: node convert.js <input.md> <output.pdf|docx|html|odt>');
process.exit(1);
}
const inputFile = args[0];
const outputFile = args[1];
const format = path.extname(outputFile).slice(1);
if (!fs.existsSync(inputFile)) {
console.error(`File not found: ${inputFile}`);
process.exit(1);
}
console.log(`Converting ${path.basename(inputFile)}${path.basename(outputFile)} ...`);
try {
const cmd = `pandoc "${inputFile}" --pdf-engine=xelatex -o "${outputFile}"`;
execSync(cmd, { stdio: 'inherit' });
console.log(`Successfully saved: ${outputFile}`);
} catch (err) {
console.error('Error during conversion.');
process.exit(1);
}