SpringBoot 将 HTML 导出为 PDF
在Spring Boot中,你可以使用openhtmltopdf
库将HTML转换为PDF。首先,你需要添加依赖到你的pom.xml
文件中:
<dependency>
<groupId>com.openhtmltopdf</groupId>
<artifactId>openhtmltopdf-core</artifactId>
<version>1.0.10</version>
</dependency>
然后,你可以创建一个服务来处理HTML到PDF的转换:
import com.openhtmltopdf.pdfboxout.PdfRendererBuilder;
import java.io.*;
public class PdfExportService {
public void createPdfFromHtml(String html, String outputPath) throws IOException {
// 使用PdfRendererBuilder将HTML转换为PDF
PdfRendererBuilder builder = new PdfRendererBuilder();
// 设置HTML内容
builder.withHtmlContent(html, null);
// 设置PDF输出路径
try (OutputStream os = new FileOutputStream(outputPath)) {
builder.toStream(os);
}
builder.run();
}
}
在你的Spring Boot应用中,你可以在一个控制器中调用这个服务来创建PDF文件:
import org.springframework.web.bind.annotation.*;
@RestController
public class PdfController {
private final PdfExportService pdfExportService;
public PdfController(PdfExportService pdfExportService) {
this.pdfExportService = pdfExportService;
}
@PostMapping("/generate-pdf")
public String generatePdf(@RequestBody String html) {
try {
pdfExportService.createPdfFromHtml(html, "output.pdf");
return "PDF generated successfully";
} catch (IOException e) {
e.printStackTrace();
return "Error generating PDF";
}
}
}
这个简单的例子展示了如何在Spring Boot应用中接收HTML内容,并将其转换为PDF文件。你可以根据需要调整这个例子,例如添加错误处理、使用模板引擎生成HTML、从数据库读取数据等。
评论已关闭