หลักการคือการแปลง PPT เป็น PDF จากนั้นใช้รูปภาพเพื่อผลิต PDF และสามารถแก้ไขได้โดยเพียงแค่ค้นหา PPT ต่อท้าย กล่องภาษาจีนบางกล่อง
Baidu และ Google ค้นหามาเป็นเวลานานและบางคนบอกว่าบางคนบอกว่ามันเป็นข้อผิดพลาดในเว็บไซต์อย่างเป็นทางการของ Apache แต่พวกเขาตอบว่ามันเป็นปัญหาแบบอักษร ปัญหานี้ด้วยตัวเองและอ่านแบบอักษรดั้งเดิมและตั้งค่าเป็นแบบอักษรปัจจุบัน แต่การแสดงควรจะมีการบริโภคมากมาย แทบจะไม่มีโซลูชั่นสำเร็จรูปบนอินเทอร์เน็ต ฉันลองทีละขั้นตอนและในที่สุดก็พบวิธีแก้ปัญหา
PPTX ก่อนที่ปัญหาจะถูกแปลงเป็นรูปภาพ:
หลังจากความละเอียด PPTX จะถูกแปลงเป็นรูปภาพ:
สารละลาย:
อ่านแต่ละรูปร่างและแปลงข้อความเป็นแบบอักษรรวม
สำหรับ (XSLFShape Shape: Slide [i] .getShapes ()) {ถ้า (รูปแบบอินสแตนซ์ของ XSLFTextShape) {XSLFTextShape txShape = (XSLFTextShape) รูปร่าง; + txshape.getShapename ()); System.out.println ("ข้อความ:" + txshape.getText ()); ; รหัสที่สมบูรณ์มีดังนี้ (ยกเว้นโซลูชันข้างต้นส่วนใหญ่เป็นรหัสบน stackoverflow):
โมฆะสาธารณะคงที่ convertppttopdf (String sourcePath, String destination path, String FileType) โยนข้อยกเว้น {FileInputStream InputStream = ใหม่ FileInputStrea M (SourcePath); pdfdocument = เอกสารใหม่ (); SlideImage = null; ppt .getslides (); = 0; i <slide.length; K]. ; (pgsi ze. ความสูง * ซูม), bufferedimage.type_int_rgb); , 0, pgsize จริง); SetPagesize (รูปสี่เหลี่ยมผืนผ้าใหม่ ((ลอย) pgsize.getWidth (), (float) pgsize.getheight ())); i ++) {สำหรับ (xslfs hape รูปร่าง: slide [i] .getShapes ()) {ถ้า (shape instanceof xslftextshape) {xslftextshape txshape = (xslftextshape) รูปร่าง; ) ":" txshape textrunlist = textpara.gettextruns (); ) Math.Ceil (pgsize.height * Zoom), bufferedImage.type_int_rgb); Float (0, 0, pgsize.width, pgsize.height)); // javax }} pdf document.add (ตาราง); การกำหนดค่า maven:
<Ederency> <roupId> org.apache.poi </groupId> <ratifactid> poi </artifactid> <!-<Sersion> 3.13 </Sersion>-> <Sersion> 3.9 </Sent> </ERPERC Y > โดยตรง ON> </derctency> <การพึ่งพา> <roupId> com.ithoutpdf </groupId> <ratifactId> ithextpdf </artifactid> <version> 5.5.7 </เวอร์ชัน> .TOOL </groupId> <ArtIfactId> XMLWORKER </artifactId> <version> 5.5.7 </Sideve> </การพึ่งพา> <การพึ่งพา </artifactiD> <!-<Sersion> 3.12 </Sersion>-> <Sersion> 3.9 </Serve> </predency>
ข้างต้นเป็นวิธีแก้ปัญหาของจีนที่ผ่านการอ่านออกมาใน Java เพื่อนำ PPT ไปใช้กับ PDF ที่เกิดขึ้นใน Java