From 05e0aa7d0c3b0b401a03bbbe00bfd1ae3ed03388 Mon Sep 17 00:00:00 2001 From: hrh <645326698@qq.com> Date: Tue, 20 Aug 2024 15:13:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E7=AB=AFdemo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/encodings.xml | 7 + .idea/misc.xml | 14 ++ .idea/uiDesigner.xml | 124 ++++++++++++++++++ .idea/vcs.xml | 6 + pom.xml | 88 +++++++++++++ simple_demo.pdf | Bin 0 -> 752 bytes .../java/example/hrh/EmailApplication.java | 11 ++ src/main/java/example/hrh/api/EmailApi.java | 5 + .../hrh/controller/EmailController.java | 20 +++ .../hrh/controller/PdfTableController.java | 6 + .../example/hrh/service/EmailService.java | 22 ++++ .../hrh/service/PdfGenerationService.java | 16 +++ src/main/java/org/example/HtmlToPDF.java | 28 ++++ src/main/java/org/example/ItextPdfDemo.java | 31 +++++ src/main/resources/application.yml | 13 ++ 15 files changed, 391 insertions(+) create mode 100644 .idea/encodings.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/vcs.xml create mode 100644 pom.xml create mode 100644 simple_demo.pdf create mode 100644 src/main/java/example/hrh/EmailApplication.java create mode 100644 src/main/java/example/hrh/api/EmailApi.java create mode 100644 src/main/java/example/hrh/controller/EmailController.java create mode 100644 src/main/java/example/hrh/controller/PdfTableController.java create mode 100644 src/main/java/example/hrh/service/EmailService.java create mode 100644 src/main/java/example/hrh/service/PdfGenerationService.java create mode 100644 src/main/java/org/example/HtmlToPDF.java create mode 100644 src/main/java/org/example/ItextPdfDemo.java create mode 100644 src/main/resources/application.yml diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..aa00ffa --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..accd629 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..2b63946 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..bb41749 --- /dev/null +++ b/pom.xml @@ -0,0 +1,88 @@ + + + 4.0.0 + + org.example + test + 1.0-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 2.5.0 + + + + 11 + 11 + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + + + org.projectlombok + lombok + 1.18.28 + compile + + + com.itextpdf + itext7-core + 7.1.1 + pom + + + com.itextpdf + font-asian + 7.1.1 + + + + com.itextpdf + layout + 7.1.1 + + + + + com.itextpdf + forms + 7.1.1 + + + + + com.itextpdf + pdfa + 7.1.1 + + + + + com.itextpdf + html2pdf + 2.0.1 + + + org.springframework.boot + spring-boot-starter-mail + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + + \ No newline at end of file diff --git a/simple_demo.pdf b/simple_demo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..d0ae2ee6b4869ff0c9fc521398d4d11f8b4a87cb GIT binary patch literal 752 zcmY!laBZ^4=fsl4ocwey{jk)c;>`R! z1$~fe{eZ;u)M5oApz5UAIVGt@3i@t2i6yBn zsmb{%sUS_oB}J);xx8EzbBehhUMe>ZF)#_@@O*4!Vh~`!{%C@T9&i7ZIdf`cTR;3+ zG)KhMw{?P!-gN;zhOdjcWqCnXLJWXeZh>jJp@lijAO1;M!6ms|`hE(g*c}9PWl?d7 zf{{6@(?a|1ay2;!w8lTRaeVx%Tfxao&_zJ3L@{oL-X?+F53{b^HrM)6Y{>k4wz2W? zR%ZTv-13LI1szxvojN=eJYW3T<$Yn}yCtk|L$d>`_5>_odYX2HndQ=#`mLKZ*P|g32rvqWw`c|?2AQTqN2Yt)_mYq=Jh#?C4?+7L&(^e zOFt+-zeE8P^Fdtto-PW}HpT`9&PHx#t_H5=CdL+)24)s!Za~__(A?F<&Dhk%PJytJ zSXjVE1f`~N=?7<4r79R204>N%Nv%+bHc+qxst8wzHU!#i2xJmWBgqLr&Yw7c;0U8j vkB^LxkIWe#8J(Uwo}T5B3<`&s(y@5AxFoTtq@oCDy@{nUm#V6(zZ(|-Pu&8_ literal 0 HcmV?d00001 diff --git a/src/main/java/example/hrh/EmailApplication.java b/src/main/java/example/hrh/EmailApplication.java new file mode 100644 index 0000000..a3ffad0 --- /dev/null +++ b/src/main/java/example/hrh/EmailApplication.java @@ -0,0 +1,11 @@ +package example.hrh; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class EmailApplication { + public static void main(String[] args){ + SpringApplication.run(EmailApplication.class,args); + } +} diff --git a/src/main/java/example/hrh/api/EmailApi.java b/src/main/java/example/hrh/api/EmailApi.java new file mode 100644 index 0000000..febef71 --- /dev/null +++ b/src/main/java/example/hrh/api/EmailApi.java @@ -0,0 +1,5 @@ +package example.hrh.api; + +public interface EmailApi { + +} diff --git a/src/main/java/example/hrh/controller/EmailController.java b/src/main/java/example/hrh/controller/EmailController.java new file mode 100644 index 0000000..8e670fb --- /dev/null +++ b/src/main/java/example/hrh/controller/EmailController.java @@ -0,0 +1,20 @@ +package example.hrh.controller; + +import example.hrh.service.EmailService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +@RestController +public class EmailController { + + @Autowired + private EmailService emailService; + + @PostMapping("/sendEmail") + public String sendEmail(@RequestParam String to, @RequestParam String subject, @RequestParam String text) { + emailService.sendSimpleEmail(to, subject, text); + return "Email sent successfully!"; + } +} diff --git a/src/main/java/example/hrh/controller/PdfTableController.java b/src/main/java/example/hrh/controller/PdfTableController.java new file mode 100644 index 0000000..a0f7f5a --- /dev/null +++ b/src/main/java/example/hrh/controller/PdfTableController.java @@ -0,0 +1,6 @@ +package example.hrh.controller; + +import lombok.Data; + +public class PdfTableController { +} diff --git a/src/main/java/example/hrh/service/EmailService.java b/src/main/java/example/hrh/service/EmailService.java new file mode 100644 index 0000000..9e8fd81 --- /dev/null +++ b/src/main/java/example/hrh/service/EmailService.java @@ -0,0 +1,22 @@ +package example.hrh.service; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.mail.SimpleMailMessage; +import org.springframework.mail.javamail.JavaMailSender; +import org.springframework.stereotype.Service; + +@Service +public class EmailService { + + @Autowired + private JavaMailSender mailSender; + + public void sendSimpleEmail(String to, String subject, String text) { + SimpleMailMessage message = new SimpleMailMessage(); + message.setFrom("645326698@qq.com"); + message.setTo(to); + message.setSubject(subject); + message.setText(text); + mailSender.send(message); + } +} diff --git a/src/main/java/example/hrh/service/PdfGenerationService.java b/src/main/java/example/hrh/service/PdfGenerationService.java new file mode 100644 index 0000000..84e5f9d --- /dev/null +++ b/src/main/java/example/hrh/service/PdfGenerationService.java @@ -0,0 +1,16 @@ +package example.hrh.service; + +import com.itextpdf.html2pdf.HtmlConverter; + +import java.io.FileOutputStream; +import java.io.IOException; + +public class PdfGenerationService { + public void createPdfFromHtml(String htmlContent, String pdfDest) { + try { + HtmlConverter.convertToPdf(htmlContent, new FileOutputStream(pdfDest)); + } catch (IOException e) { + e.printStackTrace(); + } + } +} diff --git a/src/main/java/org/example/HtmlToPDF.java b/src/main/java/org/example/HtmlToPDF.java new file mode 100644 index 0000000..150ce02 --- /dev/null +++ b/src/main/java/org/example/HtmlToPDF.java @@ -0,0 +1,28 @@ +package org.example; + +import com.itextpdf.html2pdf.HtmlConverter; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import example.hrh.service.PdfGenerationService; + +import javax.annotation.Resource; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + +@SpringBootApplication +public class HtmlToPDF { + + @Resource + private PdfGenerationService pdfGenerationService; + private static final String ORIG = "C:\\Users\\hu645\\Desktop\\studentInfoTable.html"; + private static final String OUTPUT_FOLDER = "D:\\itextpdf\\"; + + public static void main(String[] args) throws IOException { + File htmlSource = new File(ORIG); + File pdfDest = new File(OUTPUT_FOLDER + "output.pdf"); + HtmlConverter.convertToPdf(new FileInputStream(htmlSource), new FileOutputStream(pdfDest)); + } + +} + diff --git a/src/main/java/org/example/ItextPdfDemo.java b/src/main/java/org/example/ItextPdfDemo.java new file mode 100644 index 0000000..5a42691 --- /dev/null +++ b/src/main/java/org/example/ItextPdfDemo.java @@ -0,0 +1,31 @@ +package org.example; +import com.itextpdf.kernel.pdf.PdfDocument; +import com.itextpdf.kernel.pdf.PdfWriter; +import com.itextpdf.layout.Document; +import com.itextpdf.layout.element.Paragraph; + + +public class ItextPdfDemo { + public static void main(String args[]) throws Exception { + // 1. Creating a PdfWriter + String dest = "example.pdf"; // Output file path + PdfWriter writer = new PdfWriter(dest); + + // 2. Creating a PdfDocument + PdfDocument pdfDoc = new PdfDocument(writer); + + // 3. Adding an empty page + pdfDoc.addNewPage(); + + // 4. Creating a Document + Document document = new Document(pdfDoc); + + // 5. Adding a Paragraph + document.add(new Paragraph("Hello, World!")); + + // 6. Closing the document + document.close(); + + System.out.println("PDF Created"); + } +} diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..3af342c --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,13 @@ +spring: + mail: + host: smtp.qq.com + port: 587 + username: 645326698@qq.com + password: ndupedhumhaybfba + properties: + mail: + smtp: + auth: true + starttls: + enable: true +