Python でプレゼンテーションから段落境界を取得する
概要
この記事では、Aspose.Slides で段落の境界、サイズ、座標を取得する方法を説明します。Paragraph.get_rect を使用して TextFrame から段落の矩形を取得する方法、テーブルセルのテキストフレーム内の段落座標を取得する方法、測定単位、テキスト折り返しが境界に与える影響、ピクセル変換、効果的な段落書式設定値などの重要な詳細をハイライトします。
段落の矩形座標を取得する
段落のバウンディング矩形を取得するには、Paragraph.get_rect を使用します。
import aspose.slides as slides
with slides.Presentation("Shapes.pptx") as presentation:
slide = presentation.slides[0]
shape = slide.shapes[0]
paragraph = shape.text_frame.paragraphs[0]
rectangle = paragraph.get_rect()
テーブルセル TextFrame 内の段落のサイズを取得する
Paragraph のサイズと座標をテーブルセルのテキストフレーム内で取得するには、Paragraph.get_rect を使用します。返される矩形はテーブルセルのテキストフレームに対して相対的であるため、スライドレベルの座標が必要な場合はテーブルの位置とセルのオフセットを加算してください。
以下の例では、テーブルセル内の段落の境界を取得し、スライド上に矩形を描画してその境界を可視化します。
import aspose.slides as slides
import aspose.pydrawing as draw
with slides.Presentation("source.pptx") as presentation:
slide = presentation.slides[0]
table = slide.shapes[0]
cell = table.rows[1][1]
cell_x = table.x + cell.offset_x
cell_y = table.y + cell.offset_y
for paragraph in cell.text_frame.paragraphs:
if paragraph.text == "":
continue
paragraph_rectangle = paragraph.get_rect()
paragraph_rectangle_x = paragraph_rectangle.x + cell_x
paragraph_rectangle_y = paragraph_rectangle.y + cell_y
paragraph_bounds_shape = slide.shapes.add_auto_shape(
slides.ShapeType.RECTANGLE,
paragraph_rectangle_x,
paragraph_rectangle_y,
paragraph_rectangle.width,
paragraph_rectangle.height)
paragraph_bounds_shape.fill_format.fill_type = slides.FillType.NO_FILL
paragraph_bounds_shape.line_format.fill_format.solid_fill_color.color = draw.Color.yellow
paragraph_bounds_shape.line_format.fill_format.fill_type = slides.FillType.SOLID
presentation.save("output.pptx", slides.export.SaveFormat.PPTX)
よくある質問
段落の座標はどの単位で測定されますか?
ポイント単位で測定されます。1インチは 72 ポイントに相当します。この単位はスライド上のすべての座標と寸法に適用されます。
文字折り返しは段落の境界に影響しますか?
はい。TextFrameFormat.wrap_text が TextFrame で有効になっている場合、テキストはエリアの幅に合わせて折り返され、段落の実際の境界が変わります。
段落の座標をエクスポートされた画像のピクセルに確実に変換できますか?
はい。ポイントをピクセルに変換するには、次の式を使用します: ピクセル = ポイント × (DPI / 72)。結果は、レンダリングまたはエクスポート時に選択した DPI に依存します。
スタイル継承を考慮した「実効」段落書式設定パラメータを取得するにはどうすればよいですか?
effective paragraph formatting data structure を使用します。インデント、間隔、折り返し、RTL などの最終的に統合された値を返します。