Trang trình bày xóa Python-pptx

Trong hướng dẫn sau, chúng ta sẽ hiểu cách tạo và cập nhật Bản trình bày PowerPoint với sự trợ giúp của ngôn ngữ lập trình Python. Để hoàn thành nhiệm vụ, chúng tôi sẽ sử dụng thư viện python-pptx

Vậy hãy bắt đầu

Tìm hiểu về thư viện python-pptx

python-pptx là một thư viện Python dùng để tạo và chỉnh sửa PowerPoint [. pptx] tập tin. Thư viện này không tương thích với Microsoft Office 2003 và các phiên bản cũ hơn. Chúng tôi có thể chèn hình dạng, đoạn văn, văn bản và trang trình bày và thực hiện nhiều hoạt động khác với sự trợ giúp của thư viện này

Việc sử dụng thông thường sẽ tạo bản trình bày PowerPoint tùy chỉnh từ nội dung cơ sở dữ liệu, có thể tải xuống bằng cách nhấp vào liên kết trong ứng dụng web. Một số nhà phát triển đã sử dụng thư viện này để tự động hóa việc tạo các báo cáo trạng thái kỹ thuật sẵn sàng trình bày trên cơ sở thông tin được lưu trữ trong hệ thống quản lý công việc của họ. Chúng tôi cũng có thể sử dụng nó để thực hiện cập nhật hàng loạt cho thư viện bản trình bày hoặc tự động hóa việc sản xuất một hoặc hai trang trình bày sẽ gây mệt mỏi khi thực hiện thủ công

Một số tính năng của thư viện python-pptx

Thư viện python-pptx có các tính năng sau, với nhiều tính năng khác trên lộ trình

  1. Thư viện này có thể quay vòng bất kỳ bản trình bày Open XML nào [. pptx] bao gồm tất cả các thành phần của nó
  2. Thư viện này cũng có thể thêm slide
  3. Thư viện này cũng có thể điền vào chỗ dành sẵn cho văn bản. Ví dụ: chúng ta có thể tạo một trang trình bày dấu đầu dòng
  4. Thư viện này có thể chèn hộp văn bản vào trang chiếu và giúp thao tác kích thước phông chữ văn bản và in đậm
  5. Chúng ta có thể thêm một bảng vào một slide bằng cách sử dụng nó
  6. Thư viện này cho phép chúng tôi chèn các hình dạng tự động [Ví dụ: đa giác, hình dạng sơ đồ, v.v.] vào một trang trình bày
  7. Chúng tôi thậm chí có thể thêm và thao tác với các biểu đồ cột, thanh, đường và hình tròn
  8. Sử dụng thư viện này, chúng tôi cũng có thể truy cập và thay đổi các thuộc tính tài liệu cốt lõi như tiêu đề và chủ đề

Làm cách nào để cài đặt thư viện python-pptx?

Để cài đặt mô-đun Python, chúng tôi cần 'pip', một khung để quản lý các gói cần thiết để cài đặt các mô-đun từ các kho lưu trữ công khai đáng tin cậy. Sau khi có 'pip', chúng ta có thể cài đặt mô-đun python-pptx bằng cách sử dụng lệnh từ dấu nhắc lệnh của Windows [CMD] hoặc thiết bị đầu cuối như hình bên dưới

cú pháp

Xác minh cài đặt

Sau khi mô-đun được cài đặt, chúng ta có thể xác minh nó bằng cách tạo một tệp chương trình Python trống và viết câu lệnh nhập như sau

Tập tin. thẩm tra. py

Bây giờ, hãy lưu tệp trên và thực thi nó bằng lệnh sau trong một thiết bị đầu cuối

cú pháp

Nếu tệp chương trình Python ở trên không trả về bất kỳ lỗi nào, mô-đun đã được cài đặt đúng cách. Tuy nhiên, trong trường hợp có ngoại lệ, hãy thử cài đặt lại mô-đun và cũng nên tham khảo tài liệu chính thức của mô-đun

Bây giờ chúng ta hãy hiểu hoạt động của thư viện python-pptx bằng các ví dụ

Tạo một tệp PowerPoint mới với tiêu đề và phụ đề slide

Ta có thể tạo một file PowerPoint mới bằng lớp Presentation của thư viện pptx. Sau đó, chúng ta có thể tạo bố cục trang chiếu bằng thuộc tính slide_layouts và tạo đối tượng trang chiếu để thêm vào tệp bản trình bày bằng phương thức add_slide[]

Chúng ta có thể thêm tiêu đề và phụ đề vào trang chiếu bằng thuộc tính tiêu đề và trình giữ chỗ và chỉ định văn bản trong thuộc tính văn bản

Chúng ta hãy xem xét đoạn mã sau thể hiện điều tương tự

Ví dụ

đầu ra

Giải trình

Trong đoạn mã trên, chúng tôi đã nhập những thứ cần thiết từ thư viện và khởi tạo lớp Trình bày. Sau đó, chúng tôi đã tạo bố cục của trang chiếu và một đối tượng trang chiếu. Sau đó chúng tôi đã thêm tiêu đề vào slide. Sau đó, chúng tôi đã xác định các phép đo bên trái, trên cùng, chiều rộng và chiều cao và sử dụng phương thức add_shape[]. Phương thức này định nghĩa hằng đại diện cho các hình dạng tự động có sẵn [ví dụ: MSO_SHAPE. PENTAGON, MSO_SHAPE. ROUNDED_RECT, MSO_SHAPE. CHEVRON, và nhiều hơn nữa] cùng với các phép đo như các thông số. Sau đó chúng tôi đã thêm một số văn bản vào hình ảnh. Sau đó, chúng tôi đã thay đổi giá trị của left và width và sử dụng vòng lặp for để tạo thêm các hình dạng và thêm văn bản vào chúng. Cuối cùng, chúng tôi đã lưu tệp PPT

Về cơ bản, đây là https. //github. com/scanny/python-pptx, chỉ cần hỗ trợ thêm và xóa hàng/col

Cách sử dụng điển hình sẽ là tạo bản trình bày PowerPoint tùy chỉnh từ nội dung cơ sở dữ liệu, có thể tải xuống bằng cách nhấp vào liên kết trong ứng dụng web. Một số nhà phát triển đã sử dụng nó để tự động sản xuất các báo cáo trạng thái kỹ thuật sẵn sàng trình bày dựa trên thông tin có trong hệ thống quản lý công việc của họ. Nó cũng có thể được sử dụng để thực hiện cập nhật hàng loạt cho thư viện bản trình bày hoặc đơn giản là để tự động hóa việc sản xuất một hoặc hai trang trình bày sẽ rất tẻ nhạt nếu thực hiện ngay bằng tay

Thông tin thêm có sẵn trong python-pptx documentation_

Duyệt qua examples with screenshots_ để biết nhanh những gì bạn có thể làm với python-pptx

_python-pptx documentation. https. //trăn-pptx. đọcthedocs. org/vi/mới nhất/

_examples with screenshots. https. //trăn-pptx. đọcthedocs. org/vi/mới nhất/người dùng/khởi động nhanh. html

. nhật ký thay đổi

Lịch sử phát hành

0. 6. 24. 2 [2022-05-16] ++++++++++++++++++

  • Mở rộng không gian tên trong ns. py để cho phép sử dụng nhiều hình dạng hơn

0. 6. 21 [2021-09-20] ++++++++++++++++++

  • Khắc phục sự cố #741 _DirPkgReader phải triển khai. chứa[]

0. 6. 20 [2021-09-14] ++++++++++++++++++

  • Khắc phục sự cố #206 chứa các tham chiếu mục tiêu NULL trong các mối quan hệ
  • Khắc phục #223 tên tệp hình ảnh thoát xuất hiện dưới dạng chữ trong XML
  • Khắc phục tùy chọn #517 để hiển thị các loại/giá trị biểu đồ theo thứ tự ngược lại
  • Tái cấu trúc chính mã tải gói cũ

0. 6. 19 [2021-05-17] ++++++++++++++++++

  • Thêm hình dạng. add_ole_object[], cho phép nhúng tùy ý tệp Excel hoặc tệp nhị phân khác dưới dạng hình dạng trên trang trình bày. Đối tượng OLE được biểu diễn dưới dạng một biểu tượng

0. 6. 18. 5 [2019-12-18] +++++++++++++++++++++

  • Đã xóa @property khỏi 'move_slide[]' để khắc phục một số trường hợp biên quan trọng

0. 6. 18. 4 [2019-12-18] +++++++++++++++++++++

  • Đã thêm thuộc tính 'move_slide[]' vào bản trình bày để cho phép di chuyển trang chiếu từ chỉ mục này sang chỉ mục khác

0. 6. 18. 3 [2019-12-09] ++++++++++++++++++

  • Khắc phục _RowCollection. add[] để không xóa văn bản theo mặc định, để giữ text_frame và do đó tạo kiểu

0. 6. 18. 2 [2019-12-09] +++++++++++++++++++++

  • Đã thêm thông số StyleIndex vào _RowCollection. add[] để tránh luôn sao chép hàng cuối cùng

0. 6. 18. 1 [2019-12-09] +++++++++++++++++++++

  • Thêm _RowCollection. thêm[] và. gỡ bỏ[]
  • Thêm _Columnollection. thêm[] và. gỡ bỏ[]

0. 6. 18 [2019-05-02] ++++++++++++++++++

  • getters thuộc tính văn bản mã hóa ngắt dòng dưới dạng tab dọc [VT, '\v', ASCII 11/x0B]. Điều này phù hợp với hành vi sao chép/dán của PowerPoint và cho phép phân biệt các dấu ngắt giống như [dấu xuống dòng mềm] với ranh giới đoạn văn. Trước đây, ngắt dòng được mã hóa thành một dòng mới ['\n'] và không thể phân biệt được với ranh giới đoạn văn

    thuộc tính văn bản bao gồm Hình dạng. văn bản, _Ô. văn bản, Khung văn bản. văn bản, _Đoạn văn. văn bản và _Run. chữ

  • trình thiết lập thuộc tính văn bản chấp nhận ký tự tab dọc và đặt phần tử ngắt dòng ở vị trí đó. Tất cả các ký tự điều khiển khác ngoài tab ngang ['\t'] và dòng mới ['\n'] trong phạm vi \x00-\x1F đều được chấp nhận và thoát bằng văn bản thuần túy như "_x001B" cho ESC [ASCII 27]

    Trước đây, một ký tự điều khiển không phải là tab hoặc dòng mới trong một chuỗi được chỉ định sẽ kích hoạt một ngoại lệ liên quan đến ký tự XML không hợp lệ

0. 6. 17 [2018-12-16] ++++++++++++++++++

  • Thêm SlideLayout. remove[] - Xóa bố cục slide không sử dụng
  • Thêm SlideLayout. used_by_slides - Nhận các trang chiếu dựa trên bố cục trang chiếu này
  • Thêm SlideLayout. index[] - Nhận chỉ mục của bố cục trang chiếu trong bản gốc
  • Thêm SlideLayout. get_by_name[] - Nhận bố cục slide theo tên str của nó

0. 6. 16 [2018-11-09] ++++++++++++++++++

  • Tính năng #395 Nhãn dữ liệu. hiển thị_* thuộc tính, e. g. . show_percentage
  • Tính năng #453 Chấp nhận dữ liệu biểu đồ Không có nhãn

0. 6. 15 [2018-09-24] +++++++++++++++++++++

  • Sửa lỗi #436 ValueAxis. _cross_xAx không thành công trên c. ngàyTrục

0. 6. 14 [2018-09-24] ++++++++++++++++++

  • Thêm _Ô. hợp nhất[]
  • Thêm _Ô. tách ra[]
  • Thêm _Ô. eq[]
  • Thêm _Ô. is_merge_origin
  • Thêm _Ô. is_spanned
  • Thêm _Ô. span_height
  • Thêm _Ô. span_width
  • Thêm _Ô. trình lấy văn bản
  • Thêm bảng. iter_cells[]
  • Di chuyển pptx. hình dạng. mô-đun bảng sang pptx. cái bàn
  • Thêm tài liệu người dùng 'Làm việc với bảng'

0. 6. 13 [2018-09-10] ++++++++++++++++++

  • Thêm biểu đồ. nét chữ
  • Sửa lỗi #293 Không thể ẩn tiêu đề của Biểu đồ chuỗi đơn
  • Sửa hình dạng. giá trị chiều rộng không phải là loại Emu
  • Sửa chữa thêm một. defRPr với c. phong phú [sửa một số lỗi kế thừa phông chữ]

0. 6. 12 [2018-08-11] ++++++++++++++++++

  • Thêm ảnh. auto_shape_type
  • Xóa Python 2. 6 thử nghiệm từ bản dựng
  • Cập nhật các phụ thuộc để tránh phiên bản Gối dễ bị tấn công
  • Sửa #260, #301, #382, #401
  • Thêm _Đoạn văn. add_line_break[]
  • Thêm trình kết nối. dòng

0. 6. 11 [25-07-2018] +++++++++++++++++++++

  • Thêm màu tô chuyển sắc
  • Thêm tùy chọn "thêm turbo" thử nghiệm để tạo các trang chiếu có số lượng hình dạng lớn

0. 6. 10 [2018-06-11] ++++++++++++++++++

  • Thêm thuộc tính shape.shadow vào hình dạng tự động, đường kết nối, ảnh và nhóm, trả về một đối tượng ShadowFormat
  • Thêm đối tượng ShadowFormat với thuộc tính đọc/ghi [boolean] .inherit
  • Fix #328 thêm hỗ trợ cho hơn 26 chuỗi trong biểu đồ

0. 6. 9 [2018-05-08] ++++++++++++++++++

  • Thêm bộ cài đặt Picture.crop_x, cho phép đặt các giá trị cắt xén hình ảnh, ngoài việc thẩm vấn
  • Thêm python-pptx documentation0 và python-pptx documentation1, cho phép đặt màu nền cho một trang chiếu riêng lẻ hoặc cho tất cả các trang chiếu dựa trên trang chiếu cái
  • Thêm tùy chọn tham số python-pptx documentation2 vào python-pptx documentation3, cho phép hình thành một nhóm hình dạng từ một số hình dạng hiện có
  • Cải thiện hiệu quả của thuộc tính python-pptx documentation4 để cải thiện hiệu suất trên các trang trình bày có số lượng hình dạng cao

0. 6. 8 [2018-04-18] ++++++++++++++++++

  • Thêm python-pptx documentation5, cung cấp các thuộc tính cụ thể cho một hình dạng nhóm, bao gồm thuộc tính python-pptx documentation2 của nó
  • Thêm python-pptx documentation7, cung cấp quyền truy cập vào các hình dạng có trong một hình dạng nhóm
  • Thêm python-pptx documentation8, cho phép thêm hình dạng nhóm vào trang chiếu
  • Thêm python-pptx documentation9, cho phép thêm một hình dạng nhóm vào một hình dạng nhóm, cho phép các nhóm đa cấp, đệ quy
  • Thêm hỗ trợ để thêm hành vi nhảy đến trang chiếu được đặt tên để định hình và chạy siêu kết nối

0. 6. 7 [2017-10-30] ++++++++++++++++++

  • Thêm examples with screenshots0, cho phép chỉ định và thêm các hình dạng tự do [chẳng hạn như bản đồ] vào trang chiếu
  • Thêm hỗ trợ cho các kiểu tô theo khuôn mẫu
  • Thêm examples with screenshots1 để cho phép thẩm vấn và thiết lập kiểu đường nét đứt

0. 6. 6 [2017-06-17] ++++++++++++++++++

  • Thêm examples with screenshots2, cho phép thêm phương tiện video vào trang chiếu

  • sửa lỗi #190 Chứa các tên bộ phận không phù hợp có phân đoạn chỉ mục '00'

  • sửa lỗi #273 Chứa tên bộ phận không phù hợp không có phân đoạn chỉ mục

  • sửa lỗi #277 ASCII/Unicode trên tên danh mục đa cấp không phải ASCII

  • sửa chữa #279 Hình dạng cơ sở. cảnh báo id xuất hiện trên quyền truy cập trình giữ chỗ

0. 6. 5 [21-03-2017] ++++++++++++++++++

  • #267 đền bù cho hành vi PowerPoint không phù hợp trên c. phần tử lớp phủ

  • đền bù cho hành vi PowerPoint không phù hợp [theo thông số kỹ thuật] liên quan đến c. dLbl/c. tx dẫn đến lỗi "không thể lưu" khi nhãn dữ liệu rõ ràng được thêm vào bong bóng trên biểu đồ bong bóng

0. 6. 4 [2017-03-17] ++++++++++++++++++

  • thêm biểu đồ. đối tượng chart_title và ChartTitle
  • #263 Sử dụng loại Số để kiểm tra danh mục số

0. 6. 3 [28-02-2017] ++++++++++++++++++

  • thêm DataLabel. nét chữ
  • thêm Trục. axis_title

0. 6. 2 [2017-01-03] ++++++++++++++++++

  • thêm hỗ trợ cho NotesSlide [ghi chú slide, hay còn gọi là. trang ghi chú]
  • thêm hỗ trợ cho thứ tự chuỗi tùy ý trong XML
  • thêm cốt truyện. danh mục cung cấp quyền truy cập vào danh mục phân cấp trong biểu đồ hiện có
  • thêm hỗ trợ cho trục ngày trên biểu đồ danh mục, bao gồm viết phần tử dateAx cho trục danh mục khi danh mục ChartData là ngày hoặc giờ

SỰ KHÔNG TƯƠNG THÍCH LẠI

Một số thay đổi đã được thực hiện đối với XML soạn sẵn được sử dụng để tạo biểu đồ mới. Điều này được thực hiện để tuân thủ chặt chẽ hơn các cài đặt mà PowerPoint sử dụng khi tạo biểu đồ bằng giao diện người dùng. Điều này có thể dẫn đến một số thay đổi về giao diện trong biểu đồ sau khi nâng cấp. Đặc biệt

  • Đồ thị. has_legend hiện mặc định là True cho biểu đồ Đường
  • Mảnh đất. biến_by_categories hiện được mặc định là Sai đối với biểu đồ Đường

0. 6. 1 [2016-10-09] ++++++++++++++++++

0. 6. 0 [2016-08-18] ++++++++++++++++++

  • thêm các loại biểu đồ XY
  • thêm các loại biểu đồ bong bóng
  • thêm các loại biểu đồ Radar
  • thêm các loại biểu đồ khu vực
  • thêm các loại biểu đồ Donut
  • thêm sê-ri. điểm và Điểm
  • thêm điểm. data_label
  • thêm DataLabel. text_frame
  • thêm DataLabel. Chức vụ
  • thêm Trục. major_gridlines
  • thêm ChartFormat với. điền và. dòng
  • thêm Trục. định dạng [điền và định dạng dòng]
  • thêm ValueAxis. chéo và. chéo_at
  • thêm điểm. định dạng [điền và định dạng dòng]
  • thêm Trang trình bày. slide_id
  • thêm Trang trình bày. get[] [theo id trang trình bày]
  • thêm phông chữ. language_id
  • hỗ trợ các điểm dữ liệu trống [Không] trong các biểu đồ đã tạo
  • thêm sê-ri. đánh dấu
  • thêm điểm. đánh dấu
  • thêm điểm đánh dấu. định dạng,. phong cách và. kích thước

0. 5. 8 [27-11-2015] ++++++++++++++++++

  • thêm hình dạng. click_action [siêu liên kết trên hình dạng]
  • sửa chữa. #128 Biểu đồ tên mèo và tên ser không thoát
  • sửa chữa. #153 hình dạng. tiêu đề tăng trên không có hình dạng tiêu đề
  • sửa chữa. #170 xóa tìm kiếm [0] khỏi Hình ảnh. from_file[]

0. 5. 7 [2015-01-17] ++++++++++++++++++

  • thêm PicturePlaceholder với. phương thức insert_picture[]
  • thêm TablePlaceholder với. phương thức insert_table[]
  • thêm ChartPlaceholder với. phương thức insert_chart[]
  • Thêm ảnh. thuộc tính image, trả về đối tượng Image
  • Thêm ảnh. crop_left,. crop_top,. crop_right và. crop_bottom
  • thêm hình dạng. placeholder_format và đối tượng PlaceholderFormat

SỰ KHÔNG TƯƠNG THÍCH LẠI

Hình dạng. shape_type hiện là examples with screenshots3 vô điều kiện cho tất cả các hình dạng giữ chỗ. Trước đây, một số hình dạng trình giữ chỗ đã báo cáo examples with screenshots4, examples with screenshots5, examples with screenshots6 hoặc examples with screenshots7 cho thuộc tính đó

0. 5. 6 [2014-12-06] ++++++++++++++++++

  • sửa lỗi #138 - UnicodeDecodeError trong thiết lập. py trên Windows 7 Python 3. 4

0. 5. 5 [2014-11-17] ++++++++++++++++++

  • tính năng #51 - thêm hỗ trợ Python 3

0. 5. 4 [2014-11-15] ++++++++++++++++++

  • tính năng #43 - kích thước gốc của hình ảnh trong hình dạng. add_picture[] hiện được tính toán dựa trên thuộc tính DPI trong tệp hình ảnh, nếu có, mặc định là 72 dpi
  • tính năng #113 - Thêm đoạn văn. dấu cách_trước, Đoạn văn. dấu cách_sau và Đoạn văn. line_spacing

0. 5. 3 [2014-11-09] ++++++++++++++++++

  • thêm tính năng thử nghiệm TextFrame. fit_text[]

0. 5. 2 [26-10-2014] ++++++++++++++++++

  • fix #127 - Shape. text_frame không thành công về hình dạng không có txBody

0. 5. 1 [22-09-2014] +++++++++++++++++++++

  • tính năng #120 - thêm Hình dạng. Vòng xoay

  • tính năng #97 - thêm Phông chữ. gạch dưới

  • vấn đề #117 - thêm hỗ trợ hình ảnh BMP

  • vấn đề #95 - thêm BaseShape. người đặt tên

  • vấn đề #107 - tất cả. thuộc tính văn bản sẽ trả về unicode, không phải str

  • tính năng #106 - thêm. chuyển văn bản thành Hình dạng, Khung văn bản và Đoạn văn

  • Đổi tên hình dạng. khung văn bản thành Shape. text_frame. Hình dạng. thuộc tính khung văn bản [theo tên đó] không được dùng nữa

0. 5. 0 [2014-09-13] ++++++++++++++++++

  • Thêm hỗ trợ để tạo và thao tác biểu đồ thanh, cột, đường và hình tròn
  • Tái cấu trúc chính của lớp XML [oxml]
  • Truy cập hình dạng đối tượng đồ họa được hợp lý hóa Lưu ý các điểm không tương thích ngược bên dưới

SỰ KHÔNG TƯƠNG THÍCH LẠI

Một bảng không còn được coi là một hình dạng. Thay vào đó, nó là một đối tượng đồ họa chứa trong một hình dạng Khung đồ họa, cũng như các đối tượng Biểu đồ và SmartArt

Ví dụ

table = shapes.add_table[...]

# becomes

graphic_frame = shapes.add_table[...]
table = graphic_frame.table

# or

table = shapes.add_table[...].table

Là hình dạng bao quanh, id, tên, loại hình dạng, vị trí và kích thước là các thuộc tính của đối tượng GraphicFrame bao quanh

Nội dung của một hình dạng GraphicFrame có thể được xác định bằng cách sử dụng ba thuộc tính có sẵn trên một hình dạng. has_table, has_chart và has_smart_art. Đối tượng đồ họa kèm theo được lấy bằng thuộc tính GraphicFrame. bảng và Khung đồ họa. đồ thị. SmartArt chưa được hỗ trợ. Truy cập một trong những thuộc tính này trên một GraphicFrame không chứa đối tượng tương ứng sẽ tạo ra một ngoại lệ

0. 4. 2 [29-04-2014] ++++++++++++++++++

  • sửa chữa. vấn đề #88 -- phát sinh đối với tệp hình ảnh được hỗ trợ có phần mở rộng chữ hoa
  • sửa chữa. vấn đề #89 -- phát sinh trên add_slide[] trong đó các id hiện có không liền kề

0. 4. 1 [29-04-2014] ++++++++++++++++++

  • Đổi tên bản trình bày. slidemasters để trình bày. slide_masters. Bài thuyết trình. thuộc tính slidemasters không được dùng nữa

  • Đổi tên bản trình bày. slidelayouts để trình bày. slide_layouts. Bài thuyết trình. thuộc tính slidelayouts không được dùng nữa

  • Đổi tên SlideMaster. bố cục trang chiếu vào Slide Master. slide_layouts. SlideMaster. thuộc tính slidelayouts không được dùng nữa

  • Đổi tên SlideLayout. trang chiếu cái sang Bố cục trang chiếu. slide_master. SlideLayout. thuộc tính slidemaster không được dùng nữa

Chủ Đề