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
+