4、製作一個html轉pdf的spring boot starter
記錄每一個努力的日子!
上一篇:maven多module打包
參考專案:github 1.2.0分支 tool模組
1、依賴軟體
wkhtmltopdf
2、關鍵程式碼
使用ProcessBuilder來執行可執行指令碼
public Html2pdf(String command){
this.command = command;
}
public final void conver(String htmlPath, String pdfPath) throws Throwable {
ProcessBuilder pb = new ProcessBuilder(Stream.of(command, htmlPath, pdfPath).collect(Collectors.toList()));
pb.redirectErrorStream(true);
Process p = null;
BufferedReader br = null;
try {
p = pb.start();
br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line = null;
while ((line = br.readLine()) != null) {}
p.waitFor();
} finally {
if (br != null) {
br.close();
}
if (p != null) {
p.destroy();
}
}
}
3、步驟
3.1
新建module,編寫html2pdf的程式碼
3.2
新建一個starter的module,引入上一個module,把上一個module的主執行類申明為一個Bean
@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(prefix = "html2pdf", name = "enable", havingValue = "true")
public Html2pdf html2pdf(Html2pdfProperties html2pdfProperties) {
return new Html2pdf(html2pdfProperties.getCommand());
}
在strter的resources下新建META-INF/spring.factories,新增starter中定義的Configuration
org.springframework.boot.autoconfigure.EnableAutoConfiguration=net.dog.html2pdfspringbootstarter.Html2pdfAutoConfiguration
3.3
在專案中直接引入starter,即可注入bean使用
相關文章
- 開發一個Spring Boot Starter!Spring Boot
- 快速建立一個spring-boot-starterSpringboot
- 建立自己的定製的Spring Boot Starter快速指南Spring Boot
- Spring Boot 自定義 starterSpring Boot
- 自定義Spring Boot StarterSpring Boot
- spring-boot-starter-testSpringboot
- 自定義 Spring Boot StarterSpring Boot
- 聊聊arthas的spring-boot-starterSpringboot
- 快速開發一個自定義 Spring Boot Starter,並使用它Spring Boot
- 手把手教你手寫一個最簡單的 Spring Boot StarterSpring Boot
- 自研 Pulsar Starter:winfun-pulsar-spring-boot-starterSpringboot
- Spring Boot(3)---自定義spring boot starter 問題Spring Boot
- Spring Boot Starter 和 ABP ModuleSpring Boot
- 理解spring-boot-starter-parentSpringboot
- 【spring-boot】自定義starterSpringboot
- spring-boot-starter-redis 整合SpringbootRedis
- 如何實現自己的Spring Boot StarterSpring Boot
- spring-boot - 編寫自己的starterSpringboot
- 把HTML轉成PDF的4個方案及實現方法HTML
- 用了Redisson的Spring Boot Starter搞的我都想重寫個RedisSpring Boot
- 徒手擼一個 Spring Boot 中的 Starter ,解密自動化配置黑魔法!Spring Boot解密
- Spring Boot自動配置原理懂後輕鬆寫一個自己的starterSpring Boot
- 禁用 Spring Boot 中引入安全元件 spring-boot-starter-security 的方法Spring Boot元件
- (7)Spring Boot Starter的介紹及使用Spring Boot
- 【Java面試】如何理解Spring Boot中的Starter?Java面試Spring Boot
- 輕鬆製作PDF檔案(轉)
- (第五講)自定義Spring Boot StarterSpring Boot
- spring-boot-starter-amqp踩坑記SpringbootMQ
- Jasypt工具類(jasypt-spring-boot-starter)Springboot
- 手把手教你定製標準Spring Boot starter,真的很清晰Spring Boot
- 從零開始實現一個簡易的Java MVC框架(八)–製作StarterJavaMVC框架
- 從零開始實現一個簡易的Java MVC框架(八)--製作StarterJavaMVC框架
- 使用mica-auto生成Spring boot starter配置Spring Boot
- 小代學Spring Boot之自定義StarterSpring Boot
- 官方 Dubbo Spring Boot Starter 1.0.0 公測版Spring Boot
- 10 個HTML轉為PDF最佳工具HTML
- 如何製作一個響應式的HTML5表格HTML
- springboot2.x基礎教程:動手製作一個starter包Spring Boot