多格式转pdf——md 转 pdf
public static String mdToPdfConverter(String mdFilePath, String pdfFilePath, String fontPath) throws Exception { // 创建Document对象 Document document = new Document(); // 创建PdfWriter对象将文档写入文件 PdfWriter.getInstance(document, new FileOutputStream(pdfFilePath)); // 打开文档 document.open(); // 设置字体,用于支持中文显示 fontPath = fontPath + ",0"; System.out.println(fontPath); BaseFont font = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); Font chineseFont = new Font(font, 12); // 创建BufferedReader对象来读取文件 BufferedReader reader = new BufferedReader(new FileReader(pdfFilePath)); // 读取Markdown文件所有行内容 List<String> markdowns = Files.readAllLines(Paths.get(mdFilePath)); // 遍历行内容并写入到pdf for (String markdown : markdowns) { // 解析Markdown为抽象语法树 Parser parser = Parser.builder().build(); Node mdDocument = parser.parse(markdown); // 将Markdown抽象语法树渲染为HTML TextContentRenderer renderer = TextContentRenderer.builder().build(); String line = renderer.render(mdDocument); // 添加文本内容到文档 Paragraph paragraph = new Paragraph(line, chineseFont); document.add(paragraph); // 打印行内容 // System.out.println(line); } reader.close(); document.close(); return pdfFilePath; }
多格式转换相关:https://www.cnblogs.com/Rover20230226/p/17786602.html