จัดการเหตุการณ์หน้าใน itext ของตัวแบ่งหน้า

ฉันใช้ itext เพื่อสร้าง pdf และต้องการทราบว่าเกิดอะไรขึ้นเบื้องหลังเมื่อองค์ประกอบมีขนาดเกินขนาดของหน้า

ฉันใช้ PdfPageEventHelper เพื่อทราบว่าในกรณีนี้มีการเพิ่มหน้าใหม่หรือไม่

ผลลัพธ์ pdf แสดงหน้าใหม่แต่ไม่ทริกเกอร์ฟังก์ชันของฉันสำหรับเหตุการณ์เช่น onStartPage ,onEndPage


person Brijesh Chaubey    schedule 24.12.2014    source แหล่งที่มา
comment
แสดงรหัสของคุณให้เราดู มีตัวอย่างมากมายที่พิสูจน์ว่า onStartPage() และ onEndPage() ถูกทริกเกอร์ ดูส่วน กิจกรรมของเพจ ใน คำถามเกี่ยวกับ iText ที่ดีที่สุดใน StackOverflow สำหรับบางคน ตัวอย่าง.   -  person Bruno Lowagie    schedule 24.12.2014
comment
ฉันลองอีกครั้งและพบว่าใช้งานได้ แต่ยังมีคำถามเกี่ยวกับความแตกต่างระหว่าง NEWPAGE และ NEXTPAGE   -  person Brijesh Chaubey    schedule 26.12.2014


คำตอบ (1)


ฉันใช้ PdfPageEventHelper และฉันไม่พบปัญหาใดๆ กับมัน เมื่อเพจใหม่ถูกทริกเกอร์ เมธอด onEndPage() จะถูกเรียกว่า ก่อน เพจใหม่จะถูกเตรียมใช้งาน และเมธอด onStartPage() จะถูกเรียกว่า หลัง เพจใหม่จะถูกเตรียมใช้งาน

คุณสามารถเรียกหน้าใหม่ในโค้ดของคุณดังนี้:

document.newPage();

หรือสามารถทริกเกอร์เมธอด newPage() โดยปริยายได้ เช่น เมื่อคุณเพิ่มเนื้อหาโดยใช้ document.add() ที่เกินขนาดของหน้า

ข้อกล่าวหาของคุณที่ว่าฟังก์ชันต่างๆ เช่น onEndPage() และ onStartPage() ไม่ได้ถูกกระตุ้นนั้นไม่สามารถตรวจสอบได้ ในทางตรงกันข้าม เรามีตัวอย่างมากมายที่พิสูจน์เป็นอย่างอื่น ซึ่งบางตัวอย่างรวมอยู่ในหนังสือ คำถาม iText ที่ดีที่สุดเกี่ยวกับ StackOverflow< /ก>

ในความคิดเห็น คุณบอกว่าคุณมีคำถามเกี่ยวกับความแตกต่างระหว่าง NEWPAGE และ NEXTPAGE นี่เป็นคำถามที่แปลกมาก เนื่องจากฉันไม่รู้ว่าทำไมคุณถึงต้องการวัตถุเหล่านี้

Chunk.NEXTPAGE เป็น Chunk พิเศษที่ใช้ภายในโดย iText สามารถใช้เพื่อเรียกใช้เมธอด newPage() ได้โดยการเพิ่มอ็อบเจ็กต์

ตัวอย่างเช่น:

document.add(Chunk.NEXTPAGE);

เทียบเท่ากับ:

document.newPage();

วิธีหลังเป็นวิธีที่แนะนำในการเรียกเพจใหม่ โดยออบเจ็กต์ NEXTPAGE จะถูกใช้เป็นการภายในในกรณีการใช้งานที่เฉพาะเจาะจงมาก

สำหรับ Chunk.NEWPAGE นั้นเป็นเพียง String (ค่าคือ "NEWPAGE") String นี้คือคีย์แอตทริบิวต์ที่ใช้ในการระบุกลุ่ม NEXTPAGE

นี่เป็นของครัวภายในของ iText ในฐานะผู้ใช้ iText คุณไม่ควรกังวลกับเรื่องนี้

person Bruno Lowagie    schedule 27.12.2014