Hướng dẫn pptx python slide layout - bố cục trang trình bày pptx python

Một bố cục slide hoạt động như một cơ sở kế thừa thuộc tính cho các slide bằng không hoặc nhiều hơn. Điều này cung cấp một lượng phân tách nhất định giữa định dạng và nội dung và góp phần vào tính nhất quán trực quan trên các slide của một bài thuyết trình.

Xóa bố cục

Ghi chú sơ bộ

  • Hình ảnh trên bố cục trượt bị loại bỏ dường như tự động biến mất (mà không bỏ qua mối quan hệ của chúng khỏi bố cục trượt trước khi xóa nó).
  • Một bố cục được sử dụng trên mạng không thể loại bỏ. Được sử dụng trên mạng trong bối cảnh này có nghĩa là bản trình bày chứa một hoặc nhiều slide dựa trên bố cục đó. Bố cục cung cấp trình giữ chỗ di truyền, kiểu dáng và có lẽ các đối tượng nền khác và sẽ gây ra lỗi sửa chữa nếu bị thiếu.

Giao thức

Bộ sưu tập bố cục slide mặc định (bộ sưu tập thuộc về slide đầu tiên) có thể truy cập trực tiếp từ đối tượng trình bày:

>>> from pptx import Presentation
>>> prs = Presentation()
>>> slide_layouts = prs.slide_layouts

Xóa bố cục trượt (chưa sử dụng):

>>> slide_layouts.remove(slide_layouts[3])

Xác định bố cục trượt không sử dụng:

>>> [layout for layout in slide_layouts if not layout.used_by_slides])
[
    <pptx.slide.SlideLayout object at 0x..a>
    <pptx.slide.SlideLayout object at 0x..b>
    ...
]

Mẫu vật XML¶

Mỗi slide Master chứa một danh sách các bố cục slide của nó. Mỗi bố cục được xác định duy nhất bởi ID đặt slide (mặc dù đây là nơi duy nhất nó xuất hiện) và được truy cập bằng cách đi qua mối quan hệ-ID (RID) trong thuộc tính R: ID:

<p:sldMaster>
  <!-- ... -->
  <p:sldLayoutIdLst>
    <p:sldLayoutId id="2147483649" r:id="rId1"/>
    <p:sldLayoutId id="2147483650" r:id="rId2"/>
    <p:sldLayoutId id="2147483651" r:id="rId3"/>
    <p:sldLayoutId id="2147483652" r:id="rId4"/>
    <p:sldLayoutId id="2147483653" r:id="rId5"/>
    <p:sldLayoutId id="2147483654" r:id="rId6"/>
    <p:sldLayoutId id="2147483655" r:id="rId7"/>
    <p:sldLayoutId id="2147483656" r:id="rId8"/>
    <p:sldLayoutId id="2147483657" r:id="rId9"/>
    <p:sldLayoutId id="2147483658" r:id="rId10"/>
    <p:sldLayoutId id="2147483659" r:id="rId11"/>
  </p:sldLayoutIdLst>
  <!-- ... -->
</p:sldMaster>

Bố cục được sử dụng bởi một slide được chỉ định (chỉ) trong tệp .rels cho slide đó:

<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
  <Relationship
    Id="rId1"
    Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout"
    Target="../slideLayouts/slideLayout1.xml"/>
</Relationships>

Đoạn trích lược đồ

<xsd:element name="sldLayout" type="CT_SlideLayout"/>

<xsd:complexType name="CT_SlideLayout">
  <xsd:sequence>
    <xsd:element name="cSld"       type="CT_CommonSlideData"/>
    <xsd:element name="clrMapOvr"  type="a:CT_ColorMappingOverride" minOccurs="0"/>
    <xsd:element name="transition" type="CT_SlideTransition"        minOccurs="0"/>
    <xsd:element name="timing"     type="CT_SlideTiming"            minOccurs="0"/>
    <xsd:element name="hf"         type="CT_HeaderFooter"           minOccurs="0"/>
    <xsd:element name="extLst"     type="CT_ExtensionListModify"    minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="showMasterSp"     type="xsd:boolean"        default="true"/>
  <xsd:attribute name="showMasterPhAnim" type="xsd:boolean"        default="true"/>
  <xsd:attribute name="matchingName"     type="xsd:string"         default=""/>
  <xsd:attribute name="type"             type="ST_SlideLayoutType" default="cust"/>
  <xsd:attribute name="preserve"         type="xsd:boolean"        default="false"/>
  <xsd:attribute name="userDrawn"        type="xsd:boolean"        default="false"/>
</xsd:complexType>

<xsd:complexType name="CT_CommonSlideData">
  <xsd:sequence>
    <xsd:element name="bg"          type="CT_Background"       minOccurs="0"/>
    <xsd:element name="spTree"      type="CT_GroupShape"/>
    <xsd:element name="custDataLst" type="CT_CustomerDataList" minOccurs="0"/>
    <xsd:element name="controls"    type="CT_ControlList"      minOccurs="0"/>
    <xsd:element name="extLst"      type="CT_ExtensionList"    minOccurs="0"/>
  </xsd:sequence>
  <xsd:attribute name="name" type="xsd:string" use="optional" default=""/>
</xsd:complexType>