PDF là định dạng tài liệu đa nền tảng cung cấp bố cục nhất quán trên các hệ điều hành khác nhau. Nó được sử dụng rộng rãi để tạo và chia sẻ tài liệu, chẳng hạn như các bài báo nghiên cứu, hóa đơn, v.v. Trong khi tạo tệp PDF theo chương trình, bạn thường cần thay đổi vị trí và hướng của văn bản theo bố cục của tài liệu. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách xoay văn bản bên trong tài liệu PDF bằng Java.
API Java để xoay văn bản trong PDF
Để xoay văn bản bên trong tệp PDF, chúng tôi sẽ sử dụng Aspose.PDF for Java. Đây là một thư viện mạnh mẽ cung cấp các tính năng thao tác PDF cơ bản cũng như nâng cao. Bạn có thể tải xuống API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.
Kho:
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
Sự phụ thuộc:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>22.4</version>
</dependency>
Xoay văn bản bên trong PDF trong Java
Có nhiều cách để xoay văn bản bên trong tài liệu PDF. Bạn có thể xoay một đoạn văn bản hoặc một đoạn văn bản hoàn chỉnh. Hãy xem từng cách xoay văn bản này hoạt động như thế nào.
Xoay văn bản PDF bằng TextFragment trong Java
Sau đây là các bước để xoay một đoạn văn bản trong tài liệu PDF bằng Java.
- Đầu tiên, tạo một tài liệu mới bằng cách sử dụng lớp Tài liệu.
- Sau đó, thêm một trang vào tài liệu và lấy tham chiếu của nó bằng phương thức Document.getPages(). Add().
- Sau đó, tạo một đoạn văn bản mới bằng cách sử dụng lớp TextFragment.
- Đặt vị trí và phông chữ của đoạn văn bản.
- Đặt góc xoay bằng phương thức TextFragment.getTextState(). SetRotation().
- Tạo một đối tượng TextBuilder mới và khởi tạo nó với đối tượng Trang.
- Sử dụng phương thức TextBuilder.appendText (TextFragment) để thêm văn bản vào trang.
- Cuối cùng, lưu tài liệu PDF bằng phương thức Document.save (string).
Mẫu mã sau đây cho thấy cách xoay văn bản trong tài liệu PDF bằng Java.
// Khởi tạo đối tượng tài liệu
Document pdfDocument = new Document();
// Nhận trang cụ thể
Page pdfPage = pdfDocument.getPages().add();
// Tạo đoạn văn bản
TextFragment textFragment1 = new TextFragment("main text");
textFragment1.setPosition(new Position(100, 600));
// Đặt thuộc tính văn bản
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Tạo đoạn văn bản xoay
TextFragment textFragment2 = new TextFragment("rotated text");
textFragment2.setPosition(new Position(200, 600));
// Đặt thuộc tính văn bản
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment2.getTextState().setRotation(45);
// Tạo đoạn văn bản xoay
TextFragment textFragment3 = new TextFragment("rotated text");
textFragment3.setPosition(new Position(300, 600));
// Đặt thuộc tính văn bản
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
textFragment3.getTextState().setRotation(90);
// Tạo đối tượng TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Nối đoạn văn bản vào trang PDF
textBuilder.appendText(textFragment1);
textBuilder.appendText(textFragment2);
textBuilder.appendText(textFragment3);
// Lưu tài liệu
pdfDocument.save("Rotate_Text_TextFragment.pdf");
Đầu ra
Xoay văn bản PDF bằng TextParagraph trong Java
Bạn cũng có thể áp dụng xoay vòng cho văn bản trong khi tạo một đoạn văn mới. Điều này có thể đạt được bằng cách sử dụng lớp TextParagraph. Sau đây là các bước để áp dụng xoay vòng văn bản bằng lớp TextParagraph.
- Đầu tiên, tạo một tài liệu mới bằng cách sử dụng lớp Tài liệu.
- Sau đó, thêm một trang vào tài liệu và lấy tham chiếu của nó bằng phương thức Document.getPages(). Add().
- Sau đó, tạo một đối tượng TextParagraph mới.
- Tạo một phân đoạn văn bản mới bằng cách sử dụng lớp TextFragment và đặt văn bản và phông chữ.
- Đặt góc xoay bằng phương thức TextFragment.getTextState(). SetRotation().
- Thêm văn bản vào đoạn văn bằng phương pháp TextParagraph.appendLine (TextFragment).
- Tạo một đối tượng TextBuilder mới và khởi tạo nó với đối tượng Trang.
- Sử dụng phương thức TextBuilder.appendParagraph (TextParagraph) để thêm đoạn văn vào trang.
- Cuối cùng, lưu tài liệu PDF bằng phương thức Document.save (string).
Mẫu mã sau đây cho thấy cách xoay văn bản bên trong một đoạn văn bản PDF theo chương trình.
// Khởi tạo đối tượng tài liệu
Document pdfDocument = new Document();
// Nhận trang cụ thể
Page pdfPage = (Page) pdfDocument.getPages().add();
// Tạo đoạn văn bản
TextParagraph paragraph = new TextParagraph();
paragraph.setPosition(new Position(200, 600));
// Tạo đoạn văn bản
TextFragment textFragment1 = new TextFragment("rotated text");
// Đặt thuộc tính văn bản
textFragment1.getTextState().setFontSize(12);
textFragment1.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Đặt xoay
textFragment1.getTextState().setRotation(45);
// Tạo đoạn văn bản
TextFragment textFragment2 = new TextFragment("main text");
// Đặt thuộc tính văn bản
textFragment2.getTextState().setFontSize(12);
textFragment2.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Tạo đoạn văn bản
TextFragment textFragment3 = new TextFragment("another rotated text");
// Đặt thuộc tính văn bản
textFragment3.getTextState().setFontSize(12);
textFragment3.getTextState().setFont(FontRepository.findFont("TimesNewRoman"));
// Đặt xoay
textFragment3.getTextState().setRotation(-45);
// Nối các đoạn văn bản vào đoạn văn
paragraph.appendLine(textFragment1);
paragraph.appendLine(textFragment2);
paragraph.appendLine(textFragment3);
// Tạo đối tượng TextBuilder
TextBuilder textBuilder = new TextBuilder(pdfPage);
// Nối đoạn văn bản vào trang PDF
textBuilder.appendParagraph(paragraph);
// Lưu tài liệu
pdfDocument.save("Rotate_Text_TextParagraph.pdf");
Đầu ra
Nhận giấy phép API miễn phí
Bạn có thể dùng thử miễn phí Aspose.PDF for Java bằng cách nhận giấy phép tạm thời.
Sự kết luận
Trong bài này, bạn đã học cách xoay văn bản trong PDF theo lập trình bằng Java. Chúng tôi đã trình bày cách xoay văn bản bằng cách sử dụng các lớp TextFragment và TextParagraph. Ngoài ra, bạn có thể khám phá thêm về Aspose.PDF for Java bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.