commit 05e0aa7d0c3b0b401a03bbbe00bfd1ae3ed03388 Author: hrh <645326698@qq.com> Date: Tue Aug 20 15:13:55 2024 +0800 后端demo 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 0000000..d0ae2ee Binary files /dev/null and b/simple_demo.pdf differ 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 +