PDF เป็นรูปแบบเอกสารข้ามแพลตฟอร์มที่ให้เค้าโครงที่สอดคล้องกันในระบบปฏิบัติการต่างๆ มีการใช้กันอย่างแพร่หลายในการสร้างและแบ่งปันเอกสาร เช่น บทความวิจัย ใบแจ้งหนี้ ฯลฯ ในขณะที่สร้างไฟล์ PDF โดยทางโปรแกรม คุณมักจะต้องเปลี่ยนตำแหน่งและการวางแนวของข้อความตามเค้าโครงของเอกสาร ในบทความนี้ เราจะแสดงวิธีการหมุนข้อความภายในเอกสาร PDF ใน Java
Java API เพื่อหมุนข้อความใน PDF
ในการหมุนข้อความภายในไฟล์ PDF เราจะใช้ Aspose.PDF for Java เป็นไลบรารีอันทรงพลังที่ให้คุณสมบัติการจัดการ PDF ขั้นพื้นฐานและขั้นสูง คุณสามารถ ดาวน์โหลด API หรือติดตั้งโดยใช้การกำหนดค่า Maven ต่อไปนี้
พื้นที่เก็บข้อมูล:
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
การพึ่งพา:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
หมุนข้อความภายใน PDF ใน Java
มีหลายวิธีในการหมุนข้อความภายในเอกสาร PDF คุณสามารถหมุนส่วนของข้อความหรือทั้งย่อหน้าก็ได้ มาดูกันว่าการหมุนข้อความแต่ละครั้งทำงานอย่างไร
การหมุนข้อความ PDF โดยใช้ TextFragment ใน Java
ต่อไปนี้เป็นขั้นตอนในการหมุนส่วนข้อความในเอกสาร PDF โดยใช้ Java
- ขั้นแรก สร้างเอกสารใหม่โดยใช้คลาส Document
- จากนั้น เพิ่มหน้าในเอกสารและรับข้อมูลอ้างอิงโดยใช้เมธอด Document.getPages().add()
- หลังจากนั้น สร้างส่วนข้อความใหม่โดยใช้คลาส TextFragment
- กำหนดตำแหน่งและแบบอักษรของส่วนข้อความ
- ตั้งค่ามุมการหมุนโดยใช้เมธอด TextFragment.getTextState().setRotation()
- สร้างวัตถุ TextBuilder ใหม่และเริ่มต้นด้วยวัตถุหน้า
- ใช้เมธอด TextBuilder.appendText(TextFragment) เพื่อเพิ่มข้อความลงในเพจ
- สุดท้าย บันทึกเอกสาร PDF โดยใช้วิธี Document.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการหมุนข้อความในเอกสาร PDF ใน Java
// เริ่มต้นวัตถุเอกสาร
Document pdfDocument = new Document();
// รับเฉพาะหน้า
Page pdfPage = pdfDocument.getPages().add();
// สร้างส่วนข้อความ
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));
// ตั้งค่าคุณสมบัติข้อความ
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// สร้างส่วนข้อความที่หมุน
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// ตั้งค่าคุณสมบัติข้อความ
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);
// สร้างส่วนข้อความที่หมุน
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));
// ตั้งค่าคุณสมบัติข้อความ
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);
// สร้างวัตถุ TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// ต่อท้ายส่วนข้อความในหน้า PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);
// บันทึกเอกสาร
pdfDocument.save("Rotate_Text_TextFragment.pdf");
เอาต์พุต
การหมุนข้อความ PDF โดยใช้ TextParagraph ใน Java
คุณยังสามารถใช้การหมุนกับข้อความในขณะที่สร้างย่อหน้าใหม่ได้อีกด้วย สามารถทำได้โดยใช้คลาส TextParagraph ต่อไปนี้เป็นขั้นตอนในการใช้การหมุนข้อความโดยใช้คลาส TextParagraph
- ขั้นแรก สร้างเอกสารใหม่โดยใช้คลาส Document
- จากนั้น เพิ่มหน้าในเอกสารและรับข้อมูลอ้างอิงโดยใช้เมธอด Document.getPages().add()
- หลังจากนั้น สร้างวัตถุ TextParagraph ใหม่
- สร้างส่วนข้อความใหม่โดยใช้คลาส TextFragment และตั้งค่าข้อความและแบบอักษร
- ตั้งค่ามุมการหมุนโดยใช้เมธอด TextFragment.getTextState().setRotation()
- เพิ่มข้อความในย่อหน้าโดยใช้เมธอด TextParagraph.appendLine(TextFragment)
- สร้างวัตถุ TextBuilder ใหม่และเริ่มต้นด้วยวัตถุหน้า
- ใช้เมธอด TextBuilder.appendParagraph(TextParagraph) เพื่อเพิ่มย่อหน้าลงในหน้า
- สุดท้าย บันทึกเอกสาร PDF โดยใช้วิธี Document.save(string)
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการหมุนข้อความภายในย่อหน้าใน PDF โดยทางโปรแกรม
// เริ่มต้นวัตถุเอกสาร
Document pdfDocument = new Document();
// รับเฉพาะหน้า
Page pdfPage = (Page) pdfDocument.getPages().add();
// สร้างย่อหน้าข้อความ
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));
// สร้างส่วนข้อความ
TextFragment textFragment1 = new TextFragment("rotated text");
// ตั้งค่าคุณสมบัติข้อความ
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// ตั้งค่าการหมุน
textFragment1.getTextState().setRotation(45);
// สร้างส่วนข้อความ
TextFragment textFragment2 = new TextFragment("main text");
// ตั้งค่าคุณสมบัติข้อความ
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// สร้างส่วนข้อความ
TextFragment textFragment3 = new TextFragment("another rotated text");
// ตั้งค่าคุณสมบัติข้อความ
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// ตั้งค่าการหมุน
textFragment3.getTextState().setRotation(-45);
// ผนวกส่วนข้อความต่อท้ายย่อหน้า
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);
// สร้างวัตถุ TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// ต่อท้ายย่อหน้าข้อความในหน้า PDF
textBuilder.appendParagraph(paragraph);
// บันทึกเอกสาร
pdfDocument.save("Rotate_Text_TextParagraph.pdf");
เอาต์พุต
รับใบอนุญาต API ฟรี
คุณสามารถลองใช้ Aspose.PDF for Java ได้ฟรีโดย ขอรับใบอนุญาตชั่วคราว
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีหมุนข้อความใน PDF โดยทางโปรแกรมโดยใช้ Java เราได้กล่าวถึงวิธีการหมุนข้อความโดยใช้คลาส TextFragment และ TextParagraph นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ Aspose.PDF for Java โดยใช้ เอกสารประกอบ ในกรณีที่คุณมีคำถามหรือข้อสงสัย คุณสามารถติดต่อเราผ่านทาง ฟอรัม