Quản lý phông chữ trong bản trình chiếu bằng Python qua Java

Tổng quan

Aspose.Slides cho phép bạn quản lý các thuộc tính phông chữ trong văn bản của bài thuyết trình trực tiếp từ mã của bạn. Bạn có thể truy cập văn bản trong các slide thông qua các hình dạng, khung văn bản, đoạn văn và phần, sau đó áp dụng định dạng cho văn bản đã chọn.

Bài viết này giải thích cách cấu hình các thuộc tính liên quan đến phông chữ cho văn bản hiện có trong một bản trình chiếu, bao gồm họ phông chữ, kiểu in đậm và in nghiêng, căn chỉnh đoạn văn và màu phông chữ. Nó cũng chỉ cách tạo một hộp văn bản, thêm văn bản vào và đặt các thuộc tính phông chữ như họ phông chữ, in đậm, in nghiêng, gạch dưới, kích thước và màu trước khi lưu kết quả dưới dạng tệp PPTX.

Quản lý các thuộc tính liên quan đến phông chữ

Để quản lý các thuộc tính phông chữ của một đoạn văn bằng Aspose.Slides for Python via Java:

  1. Tạo một thể hiện của lớp Presentation.
  2. Lấy tham chiếu của một slide bằng cách sử dụng chỉ mục của nó.
  3. Truy cập các hình dạng Placeholder trong slide dưới dạng AutoShape.
  4. Lấy Paragraph từ TextFrame được cung cấp bởi AutoShape.
  5. Căn chỉnh đoạn văn.
  6. Truy cập phần văn bản Portion của một Paragraph.
  7. Định nghĩa phông chữ bằng FontData và đặt Font của phần văn bản Portion cho phù hợp.
    1. Đặt phông chữ thành in đậm.
    2. Đặt phông chữ thành in nghiêng.
  8. Đặt màu phông chữ bằng FillFormat được cung cấp bởi đối tượng Portion.
  9. Lưu bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.

Việc triển khai các bước trên được đưa ra dưới đây. Nó nhận một bản trình chiếu chưa được định dạng và áp dụng định dạng phông chữ trên một trong các slide. Các ảnh chụp màn hình sau đây cho thấy tệp đầu vào và cách các đoạn mã thay đổi nó. Mã thay đổi phông chữ, màu và kiểu phông chữ.

Văn bản trong bản trình chiếu đầu vào
Hình: Văn bản trong tệp đầu vào
Văn bản với định dạng phông chữ đã cập nhật
Hình: Văn bản giống nhau với định dạng đã cập nhật
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, TextAlignment
from java.awt import Color

# Tải bản trình chiếu.
presentation = Presentation("FontProperties.pptx")
try:
    # Truy cập slide đầu tiên và các khung văn bản của hai placeholder đầu tiên.
    slide = presentation.getSlides().get_Item(0)
    title_text_frame = slide.getShapes().get_Item(0).getTextFrame()
    body_text_frame = slide.getShapes().get_Item(1).getTextFrame()

    # Truy cập đoạn văn đầu tiên trong mỗi khung văn bản.
    title_paragraph = title_text_frame.getParagraphs().get_Item(0)
    body_paragraph = body_text_frame.getParagraphs().get_Item(0)
    body_paragraph.getParagraphFormat().setAlignment(TextAlignment.JustifyLow)

    # Truy cập phần văn bản đầu tiên trong mỗi đoạn văn.
    title_portion = title_paragraph.getPortions().get_Item(0)
    body_portion = body_paragraph.getPortions().get_Item(0)

    # Định nghĩa và gán các phông chữ mới.
    title_font = FontData("Elephant")
    body_font = FontData("Castellar")
    title_portion.getPortionFormat().setLatinFont(title_font)
    body_portion.getPortionFormat().setLatinFont(body_font)

    # Đặt phông chữ thành in đậm và in nghiêng.
    title_portion.getPortionFormat().setFontBold(NullableBool.True_)
    body_portion.getPortionFormat().setFontBold(NullableBool.True_)
    title_portion.getPortionFormat().setFontItalic(NullableBool.True_)
    body_portion.getPortionFormat().setFontItalic(NullableBool.True_)

    # Đặt màu phông chữ.
    title_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    title_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)
    body_portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    body_portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.GREEN)

    # Lưu bản trình chiếu.
    presentation.save("WelcomeFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Đặt thuộc tính phông chữ cho văn bản

Để tạo một hộp văn bản và đặt các thuộc tính phông chữ cho văn bản bên trong:

  1. Tạo một thể hiện của lớp Presentation.
  2. Lấy tham chiếu của một slide bằng cách sử dụng chỉ mục của nó.
  3. Thêm một AutoShape loại Rectangle vào slide.
  4. Xóa kiểu nền liên quan đến AutoShape.
  5. Truy cập TextFrame của AutoShape.
  6. Thêm một số văn bản vào TextFrame.
  7. Truy cập đối tượng Portion liên quan đến TextFrame.
  8. Định nghĩa phông chữ sẽ được sử dụng cho Portion.
  9. Đặt các thuộc tính phông chữ khác như in đậm, in nghiêng, gạch dưới, màu và kích thước bằng các thuộc tính tương ứng được cung cấp bởi đối tượng Portion.
  10. Ghi bản trình chiếu đã chỉnh sửa dưới dạng tệp PPTX.

Việc triển khai các bước trên được đưa ra dưới đây.

Văn bản với một số thuộc tính phông chữ được áp dụng
Hình: Văn bản với một số thuộc tính phông chữ được thiết lập bởi Aspose.Slides for Python via Java
import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, FontData, NullableBool, Presentation, SaveFormat, ShapeType, TextUnderlineType
from java.awt import Color

presentation = Presentation()
try:
    # Lấy slide đầu tiên và thêm một hình chữ nhật.
    slide = presentation.getSlides().get_Item(0)
    shape = slide.getShapes().addAutoShape(ShapeType.Rectangle, 50, 50, 200, 50)

    # Xóa màu nền của hình.
    shape.getFillFormat().setFillType(FillType.NoFill)

    # Thêm văn bản vào khung văn bản của hình.
    text_frame = shape.getTextFrame()
    text_frame.setText("Aspose TextBox")
    portion = text_frame.getParagraphs().get_Item(0).getPortions().get_Item(0)

    # Đặt họ phông chữ.
    font = FontData("Times New Roman")
    portion.getPortionFormat().setLatinFont(font)

    # Đặt in đậm, in nghiêng, gạch dưới và kích thước phông chữ.
    portion.getPortionFormat().setFontBold(NullableBool.True_)
    portion.getPortionFormat().setFontItalic(NullableBool.True_)
    portion.getPortionFormat().setFontUnderline(TextUnderlineType.Single)
    portion.getPortionFormat().setFontHeight(25)

    # Đặt màu phông chữ.
    portion.getPortionFormat().getFillFormat().setFillType(FillType.Solid)
    portion.getPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # Lưu bản trình chiếu.
    presentation.save("pptxFont.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()