เปิด HTML เป็น PDF
ภาพรวม
Open HTML เป็น PDF เป็นไลบรารี Java ล้วนๆ สำหรับเรนเดอร์เซ็ตย่อยที่เหมาะสมของ XML/XHTML ที่มีรูปแบบถูกต้อง (และแม้แต่ HTML5 บางตัว) โดยใช้ CSS 2.1 (และมาตรฐานที่ใหม่กว่า) สำหรับเค้าโครงและการจัดรูปแบบ ส่งออกเป็น PDF หรือรูปภาพ
ใช้ไลบรารีนี้เพื่อสร้างเอกสาร PDF ที่ดูดี แต่โปรดทราบว่าคุณไม่สามารถโยน HTML5+ สมัยใหม่ไปที่เอ็นจิ้นนี้และคาดหวังผลลัพธ์ที่ยอดเยี่ยมได้ คุณต้องสร้างเอกสาร HTML ขึ้นมาเป็นพิเศษสำหรับไลบรารีนี้ และใช้ฟีเจอร์ CSS แบบขยาย เช่น #31 หรือ #32 เพื่อให้ได้ผลลัพธ์ที่ดี หลีกเลี่ยงการลอยตัวใกล้ตัวแบ่งหน้า และใช้เค้าโครงตาราง
เริ่มต้นใช้งาน
- คู่มือการรวมระบบ - รับสิ่งประดิษฐ์และโค้ด Maven เพื่อเริ่มต้น
- 1.0.10 Online Sandbox - ขณะนี้มีบันทึกแล้ว!
- เทมเพลตสำหรับ Openhtmltopdf - เทมเพลตลิขสิทธิ์ของ MIT ที่ทำงานร่วมกับโปรเจ็กต์นี้ อัปเดตเมื่อ 21-09-2021
- เอกสารตู้โชว์ - PDF
- วิกิเอกสาร
- คู่มือผู้เขียนเทมเพลต - PDF - เลิกใช้แล้ว - ชอบวิกิ - การย้ายข้อมูลไปยังวิกิ
- โครงการตัวอย่าง - เครื่องมือสร้างเรซูเม่พริตตี้
ความแตกต่างกับจานบิน
- ใช้ PDFBOX แบบโอเพ่นซอร์สที่ได้รับการดูแลอย่างดี (เข้ากันได้กับ LGPL) เป็นไลบรารี PDF แทนที่จะเป็น iText
- การสนับสนุนที่เหมาะสมสำหรับการสร้าง PDF ที่สามารถเข้าถึงได้ (มาตรา 508, PDF/UA, WCAG 2.0)
- การสนับสนุนที่เหมาะสมสำหรับการสร้าง PDF ตามมาตรฐาน PDF/A
- ตัวเรนเดอร์ใหม่ที่เร็วขึ้นหมายความว่าโปรเจ็กต์นี้สามารถทำงานได้เร็วขึ้นหลายเท่าสำหรับเอกสารขนาดใหญ่มาก
- รองรับการแปลง CSS3 ได้ดีขึ้น
- การทดสอบการถดถอยด้วยภาพอัตโนมัติของ PDF พร้อมการทดสอบแบบ end-to-end มากมาย
- ความสามารถในการแทรกหน้าสำหรับเนื้อหาที่ถูกตัดออก
- ปลั๊กอินในตัวสำหรับ SVG และ MathML
- การสนับสนุนทางเลือกแบบอักษร
- รองรับเอกสาร RTL และเอกสารสองทิศทางอย่างจำกัด
- ด้านลบไม่รองรับแบบอักษร OpenType
- การสนับสนุนเชิงอรรถ
- มากขึ้น ดูบันทึกการเปลี่ยนแปลงด้านล่าง
ใบอนุญาต
Open HTML เป็น PDF ได้รับการเผยแพร่ภายใต้ LGPL Open HTML เป็น PDF นั้นได้รับอนุญาตภายใต้ GNU Lesser General Public License เวอร์ชัน 2.1 หรือใหม่กว่า ดูได้ที่ http://www.gnu.org/copyleft/lesser.html คุณสามารถใช้ Open HTML เป็น PDF ด้วยวิธีใดก็ได้และเพื่อวัตถุประสงค์ใดก็ได้ที่คุณต้องการ ตราบใดที่คุณเคารพเงื่อนไขของใบอนุญาต สำเนาของใบอนุญาต LGPL จะรวมอยู่ในใบอนุญาต-lgpl-2.1.txt หรือใบอนุญาต-lgpl-3.txt ในการเผยแพร่ของเราและในแผนผังต้นทางของเรา
ข้อยกเว้นคือโมดูลทดสอบ pdf-a ซึ่งได้รับอนุญาตภายใต้ GPL โมดูลนี้ไม่ได้แจกจ่ายให้กับ Maven Central และมีไว้สำหรับการทดสอบเท่านั้น
Open HTML เป็น PDF ใช้แพ็คเกจ FOSS สองสามชุดเพื่อให้งานสำเร็จลุล่วง รายการเหล่านี้สามารถพบได้ในกราฟการพึ่งพา
เครดิต
Open HTML เป็น PDF ขึ้นอยู่กับจานบิน เครดิตจะตกเป็นของผู้ร่วมโครงการนั้น รหัสจะถูกใช้จาก neoFlyingSaucer ด้วย
คำถามที่พบบ่อย
- OPEN HTML TO PDF ได้รับการทดสอบกับ OpenJDK 8, 11 และ 17 (เข้าถึงก่อน) ต้องใช้ Java 8 เป็นอย่างน้อยจึงจะรันได้
- ไม่ คุณไม่สามารถใช้งานได้บน Android
- คุณควรจะสามารถใช้งานได้บน Google App Engine (สภาพแวดล้อม Java 8 หรือสูงกว่า) แจ้งให้เราทราบประสบการณ์ของคุณ
-
ไม่ได้ใช้คอลัมน์ต่อเนื่อง ดำเนินการใน RC12 - ไม่ มันไม่ใช่เว็บเบราว์เซอร์ โดยเฉพาะอย่างยิ่ง มันไม่ได้รันจาวาสคริปต์หรือใช้มาตรฐานสมัยใหม่หลายอย่าง เช่น เค้าโครงแบบยืดหยุ่นและกริด
กรณีทดสอบ
ยินดีรับกรณีทดสอบ ความล้มเหลวหรือการทำงาน โปรดวางไว้ใน /openhtmltopdf-examples/src/main/resources/testcases/
และเรียกใช้จาก /openhtmltopdf-examples/src/main/java/com/openhtmltopdf/testcases/TestcaseRunner.java
.
บันทึกการเปลี่ยนแปลง
หัว - 1.0.11-SNAPSHOT
1.0.10 (2021-กันยายน-13)
หมายเหตุ : หลังจากรุ่นนี้ ตัวเรนเดอร์เก่าที่ช้าจะถูกลบออก โหมดเร็วเป็นค่าเริ่มต้น (ตั้งแต่ 1.0.5) ดังนั้นคุณจะต้องตรวจสอบโค้ดของคุณหากคุณเรียกใช้เมธอด useSlowMode
ซึ่งจะถูกลบออก
- #551 ความปลอดภัย แก้ไขการวนซ้ำใกล้ไม่มีที่สิ้นสุดสำหรับเนื้อหาที่ซ้อนกันลึกมากโดยมี
page-break-inside: avoid
ข้อจำกัด ขอบคุณที่คงอยู่ @ swillis12 และแก้ไขจุดบกพร่อง @syjer - #729 ความปลอดภัย อัปเกรด xmlgraphics-commons (ใช้ในการเรนเดอร์ SVG) เพื่อหลีกเลี่ยง CVE ขอบคุณ @electrofLy
- #711 รองรับเชิงอรรถ (เบต้า) ดูเอกสารประกอบเชิงอรรถบนวิกิ ขอบคุณที่ขอ @a-leithner และ @slumki
- #761 คุณสมบัติ CSS เพื่อปิดการใช้งานมุมเอียงบนเส้นขอบเพื่อป้องกันเอฟเฟกต์การลบรอยหยักที่น่าเกลียด โดยเฉพาะในเซลล์ตาราง ดูคุณสมบัติ -fs-border-rendering บนวิกิ ขอบคุณที่ให้ตัวอย่าง @ gandboy91
- #103 ชื่อคลาสข้อยกเว้นเอาต์พุตและข้อความตามค่าเริ่มต้นสำหรับข้อความบันทึกที่มีข้อยกเว้นที่เกี่ยวข้อง
- #711 (ผสม) มวยดีกว่า
::before
และ ::after
เนื้อหา ตอนนี้ควรจะสามารถกำหนดเส้นขอบรอบเนื้อหาหลอกได้อย่างถูกต้อง - #738 รองรับองค์ประกอบเพิ่มเติมใน PDF/UA รวมถึงงานศิลปะ ส่วนหนึ่ง นิกาย ส่วน คำบรรยาย และ blockquote ขอบคุณ @AndreasJacobsen
- #736 ตัวอย่างใหม่ของการใช้ dom mutator เพื่อปรับใช้เนื้อหาที่ไม่รองรับ เช่น แอตทริบิวต์แท็กแบบอักษร ขอบคุณที่ร้องขอ @ mgabhishek06kodur
- #707 แก้ไขการถดถอยโดยที่เอกสาร PDF/UA ที่ไม่สอดคล้องกับ PDF/A ขาดข้อมูลเมตาของ Dublin Core ขอบคุณ @mgm-rwagner, @syjer
- #732 อนุญาตให้วางตำแหน่งองค์ประกอบ
table
. ขอบคุณ @fcorneli - #727 อนุญาตให้ใช้หมายเลขหน้าเริ่มต้นสำหรับตัวนับ
page
และ pages
ขอบคุณสำหรับการประชาสัมพันธ์ @fanthos
1.0.9 (2021-มิถุนายน-18)
การเปิดตัวด้านความปลอดภัย : การเปิดตัวนี้ถูกนำไปข้างหน้าเนื่องจากการเผยแพร่ความปลอดภัยของ PDFBOX และการพึ่งพา Batik
- #722 อัปเกรด PDFBOX (เป็น 2.0.24) - หลีกเลี่ยง CVE ในเวอร์ชันก่อนหน้าและ PDFBoxGraphics2D ขอบคุณมากครับ @rototor
- #678 อัปเกรด Batik เวอร์ชันเป็น 1.14 (CVE-2020-11987) - ขอแนะนำอย่างยิ่งให้หลีกเลี่ยง SVG และ XML ที่ไม่น่าเชื่อถืออีกครั้ง ขอบคุณ @rototor
- #716 แทนที่การเรียกอันธพาล
println
ด้วยการโทรบันทึก ขอบคุณ @syjer สำหรับการประชาสัมพันธ์ @tfo สำหรับการรายงาน - #708 อนุญาตคุณสมบัติ SVG CSS
shape-rendering
ขอบคุณ @syjer สำหรับการประชาสัมพันธ์ @RAlfoeldi สำหรับการรายงาน - #703 ลบการเรียกเมธอดที่เลิกใช้แล้วในไลบรารีมาตรฐาน JRE อาจเปลี่ยนคลาสตัวอ่าน XML ดำเนินการโดย @danfickle
- #702 ตั้งค่าการหมดเวลาสำหรับตัวจัดการ HTTP/HTTPS เริ่มต้น ขอบคุณสำหรับการรายงาน @gengzi
- 162228 ใส่ลิงก์ไปยังภาพแรสเตอร์ในรูปแบบ SVG ผ่านทางตัวแก้ไข URL
- #694 แก้ไขขนาดกระดาษ B3 ที่ไม่ถูกต้อง. ขอบคุณ @lfintalan ที่รายงานพร้อมเลขบรรทัด!
- ab48fd อย่าบันทึกแบบอักษรที่หายไปมากกว่าหนึ่งครั้ง
หมายเหตุ: PDFBOX CVE เกี่ยวข้องกับการโหลด PDF ที่ไม่น่าเชื่อถือใน PDFBOX ดังนั้นโครงการนี้ไม่ได้รับผลกระทบโดยตรง อย่างไรก็ตาม ไม่ใช่ความคิดที่ดีที่จะมี CVE บนคลาสพาธของคุณ
1.0.8 (2021-22 มีนาคม 2564)
การเปิดเผยข้อมูลด้านความปลอดภัย
- #675 อัปเดต PDFBOX เป็น 2.0.23 เพื่อหลีกเลี่ยง CVE ขอบคุณสำหรับการรายงาน @ Samuel3
หมายเหตุ: CVE เหล่านี้เกี่ยวข้องกับการโหลด PDF ที่ไม่น่าเชื่อถือใน PDFBOX ดังนั้นโครงการนี้ไม่ได้รับผลกระทบโดยตรง อย่างไรก็ตาม ไม่ใช่ความคิดที่ดีที่จะมี CVE บนคลาสพาธของคุณ
1.0.7 (2021-มีนาคม-19)
- #650 รองรับภาพพื้นหลังหลายรูปในองค์ประกอบเดียว ขอบคุณที่ขอ @baedorf
- #669 รองรับแบบอักษรสำรอง ขอบคุณที่ขอ @asu2 และช่วยเหลือ @draco1023
- #640 ติดตั้งไฟล์ที่ฝังไว้ผ่านแอตทริบิวต์การดาวน์โหลดบนลิงก์ ขอขอบคุณสำหรับ PR ดั้งเดิม @syjer และสำหรับการร้องขอ @lindamarieb และ @vader
- #666 API เพื่อรับตำแหน่งด้านล่างสุดของเนื้อหาที่แสดงผลเพื่อให้สามารถติดตามเนื้อหาด้วยเครื่องมืออื่น ๆ ขอขอบคุณสำหรับการรีวิว PR @stechio อย่างละเอียด และคำขอจาก @DSW-AK
- #664 ปรับปรุงการรองรับมาตรฐาน PDF/A และ PDF/UA ขอบคุณสำหรับประชาสัมพันธ์ @qligier
- #653 การแก้ไของค์ประกอบอินไลน์บล็อกที่มีดัชนี z หรือการแปลงถูกส่งออกสองครั้ง ขอบคุณสำหรับการรายงาน @ hannes123bsi
- #655 รูปแบบที่ถูกต้องของรายการเรียงลำดับในทิศทาง RTL ขอบคุณสำหรับประชาสัมพันธ์ @johnnyaug
- #658 ใช้ฟังก์ชัน
target-text
สำหรับคุณสมบัติ content
ขอบคุณสำหรับการประชาสัมพันธ์ @BenjaminVega - #647 แก้ไขสภาวะการแข่งขันในการตั้งค่าตัวบันทึกในสภาพแวดล้อมแบบมัลติเธรด ขอบคุณสำหรับประชาสัมพันธ์ @syjer
- #638 ความสามารถในการปลั๊กอินการควบคุมทรัพยากรภายนอกตามประเภททรัพยากรและ URL ขอบคุณสำหรับต้นฉบับ PR @syjer
- #628 ใช้วิธีการฝังรูปภาพที่ได้รับการปรับปรุงจาก PDF-BOX ขอขอบคุณสำหรับ PR @rototor และงานของคุณใน PDF-BOX ที่นำสิ่งนี้ไปใช้
- #627 แก้ไขการถดถอยที่รูปแบบแบบอักษรว่างทำให้เกิด NPE ทักษิณเพื่อประชาสัมพันธ์ @rototor
- #338 ใช้กลุ่มปุ่มตัวเลือกแบบอ่านอย่างเดียว ขอขอบคุณสำหรับการตรวจสอบ การรายงาน และความอดทน @ThoSchCon, @aleks-shbln, @dmitry-weirdo, @syjer และ @paulito-bandito
1.0.6 (2020-ธันวาคม-22)
สิ่งสำคัญ: #615 นี่เป็นรุ่นแก้ไขข้อบกพร่องสำหรับปัญหาการวนซ้ำไม่รู้จบ เมื่อใช้ตัวแบ่งคำที่มีองค์ประกอบลอยตัวที่มีระยะขอบด้านบน/ล่าง
- #624 อัปเดต PDFBOX เป็น 2.0.22 และ pdfbox-graphics2d เป็น 0.30 ขอบคุณ @rototor
- #467 ป้องกันความเป็นไปได้ของการวนซ้ำการนำเข้า CSS
- #621 อนุญาตให้มีช่องว่างในข้อมูล uris ขอบคุณ @syjer
1.0.5 (2020-30 พฤศจิกายน-30)
ความปลอดภัย: #609 อัปเดตตัวเรนเดอร์ Apache Batik SVG เป็นเวอร์ชันล่าสุดเพื่อหลีกเลี่ยงปัญหาด้านความปลอดภัย หากคุณใช้โปรเจ็กต์นี้เพื่อแสดง SVG ที่ไม่น่าเชื่อถือ (ไม่แนะนำ) คุณควรอัปเดตทันที ขอบคุณมากครับ @halvorbmundal
สิ่งสำคัญ: ขณะนี้ตัวเรนเดอร์แบบเร็วเป็นค่าเริ่มต้นในการเตรียมการลบตัวเรนเดอร์ที่ช้าตัวเก่าออก หากต้องการใช้ตัวเรนเดอร์ช้าชั่วคราว คุณสามารถเรียกใช้เมธอดที่เลิกใช้แล้ว builder.useSlowMode()
(เอาต์พุต PDF เท่านั้น)
สิ่งสำคัญ: #543 เวอร์ชันนี้ยังคงอยู่ใน PDFBOX เวอร์ชัน 2.0.20 เนื่องจากข้อบกพร่องที่มีการเว้นวรรคไม่แยกในเวอร์ชัน 2.0.21 โปรดตรวจสอบให้แน่ใจว่าเวอร์ชัน 2.0.21 ไม่ได้อยู่บน classpath ของคุณ ข้อบกพร่องนี้ได้รับการแก้ไขแล้วในเวอร์ชัน 2.0.22 ที่กำลังจะมาถึง
- #544 โค้ดเพื่อสร้างเว็บไซต์สำหรับเทมเพลต PDF บรรจุกระป๋องล่วงหน้าในรูปแบบ thymeleaf และ raw XHTML ตรวจสอบเว็บไซต์เทมเพลตเพื่อดูตัวอย่างเทมเพลต
- #533 ปลั๊กอินบาร์โค้ด PR ที่มีประโยชน์มากจัดทำโดย @syjer เอกสารปลั๊กอินบาร์โค้ด
- #521 ย้ายเอาต์พุตรูปภาพ Java2D ไปยังตัวเรนเดอร์ที่รวดเร็วและการปรับปรุงทั่วไป เอกสารเอาท์พุตรูปภาพ Java2D
- 9ffd0e #568 กรองอักขระที่เป็นปัญหาซึ่งมองเห็นได้ในฟอนต์บางตัว แต่ไม่ควรเป็นเครื่องหมายยัติภังค์แบบอ่อน ขอบคุณ @StephanSchrader
- #587 แก้ไขพื้นที่สีขาว: nowrap การตัดออกแทนการตัด ขอบคุณ @vipcxj สำหรับการแก้ไขผ่านทาง PR ในที่สุด
- #577 เพิ่มปลั๊กอินลิ้นชัก PDF เบื้องหน้า (มีประโยชน์โดยเฉพาะสำหรับลายน้ำ) ขอบคุณ @rototor สำหรับการประชาสัมพันธ์และ @ sillen102 สำหรับการคงอยู่
- #566 เปลี่ยนชื่อ
baseUri
arg เป็น baseDocumentUri
และปรับปรุง javadoc เพื่อหลีกเลี่ยงความสับสน ขอบคุณสำหรับการรายงาน @NehalDamania - 801780 อัปเดตการพึ่งพาการทดสอบ Junit เป็น 4.13.1 เพื่อหลีกเลี่ยงคำเตือนเครื่องสแกนความปลอดภัย (ปัญหาด้านความปลอดภัยเฉพาะไม่ส่งผลกระทบต่อไลบรารีนี้)
- #553 แก้ไขสำหรับ ContentLimitContainer ทำให้เกิด NPE เมื่อใช้ระยะขอบติดลบ ขอบคุณสำหรับการรายงาน @adilxoxo
- #552 เพิ่มประสิทธิภาพตัวจัดรูปแบบบันทึกสำหรับการบันทึกเดือนกรกฎาคม ขอบคุณสำหรับ PR @syjer ที่น่าประทับใจ
- #542 ปรับปรุงตำแหน่งการตกแต่งรายการ. ขอบคุณสำหรับ PR @syjer และการรายงาน @mndzielski
- #458 แก้ไขสำหรับการตกแต่งรายการที่กำลังส่งออก (ตัด) ในพื้นที่ระยะขอบหน้า
- #525 ลบสคีมา/DTD ที่ไม่ได้ใช้ ลดขนาดขวดลงอย่างมาก ขอบคุณสำหรับประชาสัมพันธ์ @syjer
- #592 อนุญาตให้ใช้ค่าหน่วย (px, cm, em ฯลฯ) ในแอตทริบิวต์ความกว้าง/ความสูงของรูปภาพ SVG ที่เชื่อมโยง ขอบคุณ @DanielWulfert
- #594 #458 แก้ไขเนื้อหาที่ซ้ำกันมากขึ้นและข้อขัดข้องของ PDF/UA ขอบคุณ @ThomHurks, @fungc
- #599 แก้ไข RuntimeException ที่เกิดขึ้นบน InlineText.setSubstring ขอบคุณ @LAlves91
- #605 แก้ไขเพื่อให้เหตุผลใช้งานได้กับคู่ตัวแทน ขอบคุณ @EmanuelCozariz
- #601 ย้าย CI ไปที่การกระทำ Github ขอบคุณ @syjer
- #597 สรุปการสนับสนุนข้อมูล uri ขอบคุณ @syjer @ Leostat86
- #613 อนุญาตให้เพิ่มแบบอักษรสำหรับ SVG, MathML เป็นไฟล์แทนอินพุตสตรีม เพื่อหลีกเลี่ยงข้อผิดพลาดของ JDK ขอบคุณ @syjer, @sureshkumar-ramalingam, @olayinkasf
1.0.4 (2020-กรกฎาคม-25)
- b88538 แก้ไขการวนซ้ำไม่รู้จบเมื่อใช้
word-wrap: break-word
ขอบคุณสำหรับการรายงาน การทดสอบ และการตรวจสอบ @swarl ขอบคุณสำหรับการทดสอบและการดีบัก @rototor และ @syjer - #492 มีการทดสอบอัลกอริธึมการแยกบรรทัดจำนวนมากเพื่อหลีกเลี่ยงการวนซ้ำไม่รู้จบในอนาคต โดย @danfickle.
- #515 ส่งผ่านรูปแบบ CSS ของเอกสารที่ใช้กับองค์ประกอบ SVG เพื่อใช้งาน SVG ขอบคุณที่ร้องขอและมีส่วนร่วม @ amckain92
- #514 การแก้ไข: วางตำแหน่งกล่องอย่างถูกต้องเมื่อปรับบรรทัด rtl ขอบคุณสำหรับการรายงานและการทดสอบ @ lzhy1101
- #512 #507 #502 รหัสการล้าง รวมถึงการลบรหัสที่ไม่ได้ใช้ ข้อมูลทั่วไป ฯลฯ ขอบคุณสำหรับ PRs @syjer
- #489 ยกเครื่องการบันทึกอย่างกว้างขวาง รวมถึงผู้ใช้ที่วินิจฉัยต่อการทำงานด้วย ขอบคุณมาก @syjer มีงานมากมายในการประชาสัมพันธ์นี้ ดูหน้าการเข้าสู่ระบบบนวิกิสำหรับข้อมูลเพิ่มเติม
- #501 อัปเกรด PDFBOX เป็น 2.0.20 และ PDFBox-Graphics2D เป็น 0.26 ขอขอบคุณประชาสัมพันธ์ @rototor
- #490 แก้ไข NPE เมื่อถอดรหัส URL ข้อมูลรูปภาพล้มเหลว ขอขอบคุณสำหรับ PR @syjer และการรายงาน @AlexisCothenet
- #516 เพิ่มข้อมูลเมตาบันเดิล OSGI ให้กับ MANIFEST.MFs ขอขอบคุณสำหรับการร้องขอและตรวจสอบ @zspitzer
1.0.3 (2020-พ.ค.-25)
- สิ่งสำคัญ : รุ่นนี้มีการแก้ไขข้อบกพร่องสองประการที่อาจส่งผลให้เกิดการวนซ้ำ/การปฏิเสธบริการอย่างไม่มีที่สิ้นสุดเมื่อใช้
word-wrap: break-word
หากคุณกำลังใช้คุณสมบัตินี้ โปรดอัปเกรดทันที - #483 แก้ไขข้อผิดพลาดวนซ้ำไม่รู้จบด้วย
word-wrap: break-word
และยัติภังค์แบบอ่อน ขอบคุณ @rototor สำหรับการประชาสัมพันธ์ @syjer สำหรับการวิเคราะห์ และ @swarl สำหรับการรายงาน - #466 แก้ไขข้อผิดพลาดวนซ้ำไม่รู้จบด้วย
word-wrap: break-word
และกล่องความกว้างเป็นศูนย์ ขอบคุณ @syjer สำหรับการวิเคราะห์และ @AlexisCothenet สำหรับการรายงาน - ปลั๊กอิน #486 SVG สามารถแสดงรายการโปรโตคอลที่อนุญาตสำหรับทรัพยากรภายนอกได้แล้ว และตัวแก้ไข uri/ตัวจัดการสตรีมที่กำหนดค่าไว้จะถูกนำมาใช้ ขอบคุณ @syjer สำหรับการประชาสัมพันธ์และ @ieugen สำหรับการรายงาน
- #480 แก้ไขรูปร่างลิงก์ที่ส่งคืนจากลิ้นชักออบเจ็กต์แบบกำหนดเอง ขอบคุณ @rototor สำหรับการประชาสัมพันธ์และ @hbergmey สำหรับการรายงาน
- #485 ใช้การสนับสนุนสำหรับข้อมูล SVG uris ขอบคุณ @syjer สำหรับการประชาสัมพันธ์และ @adrianrodfer สำหรับการรายงาน
- #470 อนุญาต
mailto:
ลิงก์หรือลิงก์ที่ถูกต้องอื่น ๆ ขอบคุณ @syjer สำหรับการประชาสัมพันธ์และ @mndzielski สำหรับการรายงาน - #464 ให้เกียรติคุณสมบัติ CSS
direction
ขอบคุณ @AnanasPizza สำหรับการรายงาน - #460 เปลี่ยนคลาสข้อยกเว้นที่ส่งออกมาเป็น
IOException
ที่เฉพาะเจาะจงมากขึ้น ขอขอบคุณประชาสัมพันธ์ @leonorader - #459 ใช้หน่วย
rem
CSS ขอขอบคุณ @leonorader สำหรับการรายงาน - #211 สามารถใช้รูปภาพในคุณสมบัติ
content
CSS ได้แล้ว ขอบคุณที่ขอ @Kuhlware - #445 แก้ไขการไม่รับค่าแอตทริบิวต์ในเอกสารที่แปลงด้วย Jsoup ขอบคุณสำหรับการรายงาน @testinfected
- #450 เอาต์พุต Java2D เท่านั้น: ความสามารถในการเพิ่มแบบอักษรผ่านโค้ด นอกจากนี้แบบอักษรของสภาพแวดล้อมจะไม่ถูกใช้ตามค่าเริ่มต้นอีกต่อไป หากต้องการใช้แบบอักษรสภาพแวดล้อม:
builder.useEnvironmentFonts(true)
1.0.2 (2020-กุมภาพันธ์-25)
- ความปลอดภัย ลบอะแดปเตอร์ Log4J 1.x เนื่องจากมี CVE-2019-17571 โดยไม่มีเวอร์ชันอัปเดต
- #448 ใช้การรองรับ
linear-gradient
สำหรับคุณสมบัติ background-image
โดย @danfickle. ร้องขอโดย @ rja907 - #429 ยกเครื่องครั้งใหญ่ของ
word-wrap: break-word
ตอนนี้คำจะไม่ขาดเว้นแต่ว่ามันใหญ่เกินไปสำหรับบรรทัดเดียว โดย @danfickle. ขอบคุณสำหรับการรายงานและการทดสอบ @mndzielski - #433 อย่าจัดแนวบรรทัดที่ลงท้ายด้วยแท็ก
<br/>
ขอบคุณสำหรับการรายงาน @fcorneli - #440 ลบช่องว่างด้านหลังสำหรับข้อความที่จัดชิดขวาเพื่อหลีกเลี่ยงลักษณะที่หยัก ขอบคุณสำหรับการรายงาน @AnanasPizza
- #446 ค้นหาแอตทริบิวต์ lang บนองค์ประกอบบรรพบุรุษ เมื่อใช้ตัวเลือก
lang()
ขอบคุณสำหรับการรายงานและติดตามข้อผิดพลาด @fungc - #430 ใช้เส้นทางสัมพันธ์กับใบอนุญาตในขวดต้นทางแทนที่จะเป็นเส้นทางที่แน่นอน ขอบคุณสำหรับการรายงาน @gabro และแก้ไขผ่าน PR @syjer
- #417 เก็บอัตราส่วนภาพของรูปภาพที่มีคุณสมบัติความกว้าง/ความสูง รวมถึงคุณสมบัติความกว้าง/ความสูงต่ำสุด/สูงสุด ขอบคุณสำหรับการรายงานและเป็นพื้นฐานสำหรับการแก้ไข @swarl
- #423 อนุญาตให้ระบุแหล่งแบบอักษรหลายแหล่งด้วยแท็ก
format
ใช้เฉพาะ format(truetype)
เท่านั้น ขอขอบคุณที่ขอ @MichaelZaleskovsky และพื้นฐานสำหรับการใช้งาน @syjer - #415 หลีกเลี่ยงข้อยกเว้นในการส่งคลาสหากผู้ใช้พยายามลอยเซลล์ตาราง ขอบคุณสำหรับการรายงาน @ dmartineau99 และ PR @syjer
- #421 หลีกเลี่ยง NPE เมื่อมีข้อความที่จัดชิดขอบผสมกับเนื้อหาที่ไม่สมเหตุสมผล ขอบคุณสำหรับการรายงาน @Megingjard และ PR @syjer
- อัปเดต PDFBOX 2.0.17 เป็น 2.0.19
1.0.1 (2019-พฤศจิกายน-18)
- #413 จัดการปัญหาแบบฟอร์ม เช่น ไม่มีชื่อในองค์ประกอบอินพุตโดยไม่ต้องส่ง NPE ขอบคุณ @syjer สำหรับการประชาสัมพันธ์และ @mmatecki สำหรับการรายงาน
- #412 เพิ่มองค์ประกอบระดับบล็อก HTML usch เป็น
section
ให้กับ CSS เริ่มต้น ขอบคุณ @syjer - #339 ลบโมดูลตัวแปลง JSoup เป็น DOM ขอบคุณ @kewilson
- 0cd098 แก้ไขการรองรับการเว้นวรรคตัวอักษรในบรรทัดสุดท้ายของบล็อกที่มีช่องว่างต่อท้าย การปรับปรุงประสิทธิภาพและการปรับโครงสร้างใหม่ด้วย โดย @danfickle.
- #410 แก้ไขการตั้งค่าตัวหนาไม่ถูกต้องบนตัวนับรายการ ขอบคุณ @syjer สำหรับการแก้ไข PR (และทดสอบ!) และ @acieplinski สำหรับการรายงาน
- การตั้งค่าการให้เหตุผลข้อความที่กำหนดค่าได้ของ Wiki เป็นส่วนหนึ่งของการยกเครื่องการให้เหตุผลซึ่งยังอนุญาตให้ใช้พื้นที่เพิ่มเติมระหว่างอักขระเมื่อไม่มีช่องว่างในบรรทัด โดย @danfickle. ความมุ่งมั่นที่ระบุไว้ใน #403
- #403 รองรับยัติภังค์แบบอ่อน. เครื่องหมายยัติภังค์แบบอ่อนจะถูกแทนที่ด้วยเครื่องหมายยัติภังค์แบบแข็งเมื่อใช้เป็นอักขระที่ลงท้ายบรรทัด ขอบคุณ @sbrunecker
- #408 แก้ไขบุ๊กมาร์กไม่ทำงานกับตัวแยกวิเคราะห์ HTML5 เช่น JSoup ขอบคุณ @syjer สำหรับการตรวจสอบและแก้ไขและ @Milchreis สำหรับการรายงาน
- #404 อัปเกรด Batik เป็น 1.12 และ xmlgraphics-common เป็น 2.4 (ทั้งคู่ใช้ในโมดูล SVG) เพื่อหลีกเลี่ยง CVE ในอันเดียวหรือทั้งสองอย่าง ขอบคุณ @avoiculet
- #396 การเรนเดอร์กล่องเร็วขึ้นมากโดยใช้คุณสมบัติรัศมีเส้นขอบ ขอบคุณ @mndzielski
- #400 รองรับ
lang
และ title
attrbiutes และแท็ก abbr
สำหรับ PDF ที่สามารถเข้าถึงได้ ขอบคุณ @Ignaciort91 - #394, #395 อัปเกรด PDFBOX เป็น 2.0.17 และ pdfbox-graphics2d เป็น 0.25 ขอบคุณ @cristan, @rototor
- #384 อนุญาตให้ผู้ใช้จัดหาซัพพลายเออร์ PDFont ขอบคุณ @DSW-PS
- #373 แก้ไขการถดถอยโดยให้ทั้งความกว้างสูงสุดและความสูงสูงสุดสำหรับรูปภาพที่มีอัตราส่วนภาพที่แน่นอน ขอบคุณ @rototor
- #380 การสนับสนุนที่ดีขึ้นมากสำหรับคอลัมน์ต่อเนื่อง รวมถึงการแบ่งคอลัมน์ที่ชัดเจน เนื้อหาแบบลอย เนื้อหาที่ซ้อนกันในระดับบล็อก โดย @danfickle.
1.0.0 (2019-กรกฎาคม-23)
- #372 รองรับการปรับขนาดที่ดีขึ้นมากสำหรับองค์ประกอบ
img
, svg
และ math
- #344 ใช้ PDF ในแท็ก
img
: <img src="some.pdf" page="1" alt="Some alt text" />
รุ่นเก่ากว่า
ดู CHANGELOG.md