Cách duy nhất cho đến nay để lấy dấu đầu dòng là sử dụng trình giữ chỗ đã định cấu hình dấu đầu dòng. Vì vậy, về mặt lý thuyết, bạn có thể tạo bố cục trang chiếu có ba chỗ dành sẵn cho văn bản, với chỗ ở giữa được định dạng để có dấu đầu dòng. Tất nhiên, điều đó sẽ không linh hoạt lắm, nhưng chỉ vì bất cứ điều gì đáng giá để hiểu những gì hiện có thể
Vâng, hình ảnh. py và trình giữ chỗ. py có lẽ là hai mô-đun nhỏ nhất trong nhóm; . py điển hình hơn ở khoảng 400 dòng và có hình dạng phức tạp hơn nhiều. Tôi đoán một bức ảnh khá đơn giản khi bạn tìm hiểu kỹ về nó, về hình dạng, thực sự chỉ là vị trí, kích thước và tham chiếu đến chính hình ảnh nằm ở nơi khác. Trình giữ chỗ hiện chỉ là một trình bao bọc xung quanh một hình dạng khác, vì vậy hầu hết các chức năng đều đến từ hình dạng bên dưới
Tôi luôn sẵn lòng giúp đỡ. Tuy nhiên, hầu hết mọi người dường như thấy làm việc với mã hiệu quả là một thách thức lớn hơn so với những gì họ sẵn sàng thực hiện, vì vậy nó đáng để thử một chút. Tôi chắc chắn rằng nó không tạo ra mã hoạt động thách thức họ, thay vào đó, nó đang hoạt động dựa trên thử nghiệm và tạo ra mã "sạch" (theo định nghĩa của Robert Martin (Uncle Bob)). Đối với những người quan tâm đến việc học những thực hành đó, tôi nghĩ đó có thể là một cơ hội tốt. Nhưng hầu hết mọi người không sợ
Có rất nhiều cách tuyệt vời khác để đóng góp mặc dù. Nếu bạn giống tôi, bạn đã học được qua nhiều năm rằng một chút phân tích sắc bén sẽ giúp ích rất nhiều trước khi cắt mã. Các trang phân tích như trang này trong tài liệu dành cho nhà phát triển là một ví dụ về những gì tôi thường làm để chuẩn bị thêm bộ tính năng mới
Dù sao thì đó có thể là nơi bạn muốn bắt đầu với việc thêm một tính năng mới như chèn hình dạng trực tiếp vào trình giữ chỗ, vì vậy hãy cho tôi biết nếu bạn muốn làm điều đó, đó có thể là một nơi tốt để bắt đầu. Và ngay cả khi bạn không muốn phát triển mã, thì việc có một bản phân tích phù hợp sẽ đưa tính năng của bạn lên đầu công việc tồn đọng. )
Python-pptx là một thư viện python cho phép người dùng tạo và cập nhật PowerPoint (. pptx) thuyết trình. Nó được sử dụng để tạo các bản trình bày PowerPoint đã sửa đổi từ nội dung db có thể tải xuống với sự trợ giúp của việc nhấp vào liên kết trong ứng dụng web. Nó giúp giảm bớt quá trình tạo một bản cập nhật hàng loạt trong các tệp bản trình bày và cũng có thể được sử dụng để cập nhật quá trình tạo một vài trang trình bày có thể khá mệt mỏi nếu được thực hiện bằng tay
Cài đặt Python-pptx
Thư viện này được lưu trữ trên PyPI và có thể dễ dàng cài đặt trong hệ thống của bạn bằng cách sử dụng trình cài đặt pip. Tuy nhiên, một số phụ thuộc nhất định phải được tải xuống trước khi sử dụng python-pptx. đó là
· lxml
· Cái gối
· XlsxWriter
Để cài đặt python-pptx trong hệ thống của bạn, hãy nhập lệnh 'pip install python-pptx' này trong dấu nhắc lệnh hoặc thiết bị đầu cuối
Ghi chú. Khi bạn tải xuống python-pptx bằng trình cài đặt pip, mọi phần phụ thuộc bị thiếu sẽ tự động được tải xuống
Làm việc với Bản trình bày
Chúng tôi chỉ có thể thực hiện các thay đổi trong bản trình bày hiện có khi sử dụng python-pptx; . Khi chúng tôi xóa tất cả các trang chiếu, chủ đề, trang chiếu cái và bố cục trang chiếu được để lại. Tất cả đều đóng một vai trò quan trọng trong việc xác định giao diện của bản trình bày
Bây giờ hãy bắt đầu sử dụng thư viện này
Mở đầu bài thuyết trình
Không cần thiết phải mở một tệp đã tồn tại; . Sử dụng phương pháp này, một ppt mới sẽ được tạo từ mẫu mặc định và tệp này được lưu vào một tệp có tên 'first_presentation. ppt'
from pptx import Presentationpresents = Presentation()
presents.save('first_presentation.pptx')
Để mở một bài thuyết trình hiện có
Nếu bạn muốn thực hiện bất kỳ hành động nào trên bản trình bày đã tạo trước đó, cần chỉ định tên của tệp để mở bản trình bày đó
Ghi chú. Nếu bạn chỉ định tên giống nhau, đó là tên trước khi mở và tên để lưu các thay đổi trong tệp. Python-pptx sẽ ghi đè lên các tệp gốc và dữ liệu trước đó sẽ bị mất
Mở hoặc lưu bản trình bày dạng tệp
Nó cũng cho phép người dùng mở hoặc lưu bản trình bày từ một đối tượng giống như tệp. Nó được sử dụng khi bản trình bày của chúng tôi qua mạng hoặc từ cơ sở dữ liệu và chúng tôi bị từ chối truy cập vào hệ thống. Chúng tôi có thể mở hoặc lưu một bản trình bày như vậy bằng cách chuyển một tệp đang mở hoặc đối tượng luồng StringIO
Làm việc với Trang trình bày
Ngay cả khi làm việc với các bài thuyết trình PowerPoint, khi bạn muốn thêm một trang chiếu, trước tiên bạn cần xác định bố cục của trang chiếu và trường hợp này cũng tương tự với python-pptx. Mỗi slide có bố cục riêng
Vì vậy, khi bạn tạo một trang chiếu mới, bạn cần chỉ định bố cục của nó mỗi lần. Hãy tìm hiểu những kiến thức cơ bản về bố cục trang chiếu sẽ rất quan trọng để thêm các tính năng vào trang chiếu.
Bố cục slide
Nó là một mẫu cho slide. Chính định nghĩa của trang chiếu xác định cấu trúc và hướng của trang chiếu, mọi thứ hiển thị trên trang chiếu cũng sẽ hiển thị trên chính trang chiếu đó và bất kỳ thay đổi nào được thực hiện đối với bố cục này của trang chiếu cũng sẽ được thực hiện tự động trên trang chiếu. . Mỗi bố cục trang chiếu phụ thuộc vào trang chiếu cái theo cách tương tự; . Một bài thuyết trình có thể có nhiều trang chiếu cái, nhưng thông thường, không phải như vậy.
Trong PowerPoint, có sẵn chín bố cục trang chiếu. tiêu đề, tiêu đề và nội dung, chỉ tiêu đề, tiêu đề phần, hai nội dung, so sánh, nội dung có chú thích, ảnh có chú thích và Trống, mỗi nội dung không có hoặc nhiều chỗ dành sẵn. Chúng được định dạng sẵn và có các khu vực được chỉ định để thêm tiêu đề, nội dung hoặc hình ảnh vào tệp. Thông thường, bố cục trang trình bày diễn ra theo trình tự sau
- tiêu đề (slide tiêu đề bài thuyết trình)
- Tiêu đề và nội dung
- Phần tiêu đề (đôi khi được gọi là Segue)
- Hai nội dung (các hộp văn bản cạnh nhau dưới cùng một tiêu đề)
- so sánh (tương tự hai nội dung nhưng có hai đề mục để thực hiện sự khác biệt)
- Chỉ tiêu đề
- Trống
- Nội dung có chú thích
- Ảnh có chú thích
Trong python-pptx, các bố cục này không được lập chỉ mục. Đó là, họ là người đầu tiên. slide_layouts[0] qua đầu tiên. slide _layouts[8] là một quy ước thường được tuân theo bởi các chủ đề của PowerPoint, nhưng không nhất thiết phải luôn đúng.
Ghi chú. Nếu thứ tự của các mẫu không giống nhau, bạn có thể xem chúng trong trang chiếu cái và xác định chỉ mục của từng bố cục chỉ bằng cách đếm ngược từ trên xuống, bắt đầu từ 0
Thêm trang trình bày
Bạn có thể thêm một giá trị không đổi vào trang chiếu trong khi tạo nó. Tuy nhiên, không cần thiết phải thêm giá trị không đổi, nhưng đó là một cách thực hành tốt vì khi xử lý một số lượng lớn các trang chiếu, bạn có thể dễ dàng theo dõi các trang chiếu khác nhau
phương thức add_slide() có thể thêm một slide trong bài thuyết trình;
from pptx import Presentation SLD_LAYOUT_TITLE_AND_CONTENT = 1 presents = Presentation() slide_layout = presents.slide_layouts[SLD_LAYOUT_TITLE_AND_CONTENT] slide = presents.slides.add_slide(slide_layout) presents.save('sec_presentation.pptx')Lưu ý. Hiện tại, việc thêm trang trình bày là thao tác duy nhất có thể được thực hiện trong thư viện này. Các thao tác khác như copy, xóa, di chuyển slide rất khó và sẽ đến sau backlog background.
Hình dạng trong Trang trình bày
Hầu hết mọi phần tử bên trong một slide đều được coi là một hình dạng. Nền trang chiếu là phần duy nhất trong PowerPoint không được coi là hình dạng khi sử dụng python-pptx
Sáu loại hình có thể được đặt trên một slide bằng python-pptx
hình dạng tự động. Chúng chỉ là các hình dạng thông thường như hình chữ nhật, hình nhật thực hoặc mũi tên có thể có đường viền hoặc trống hoặc được tô. Chúng bao gồm một loạt các hình dạng được thiết lập sẵn. Một số trong số chúng thậm chí có thể chứa văn bản bên trong chúng hoặc có một số điều chỉnh đặc biệt.
Những bức ảnh. Bất kỳ hình ảnh nào được chèn vào PowerPoint hoặc bất kỳ hình ảnh nào từ clipart đều được gọi là ảnh trong PowerPoint.
Khung đồ họa. Nó là một thùng chứa chứa các bảng, biểu đồ, sơ đồ nghệ thuật và thậm chí cả các mẩu phương tiện. Chúng chỉ có thể được thêm vào tệp khi chèn một đối tượng đồ họa
Hình dạng nhóm. Sử dụng những thứ này, chúng ta có thể nhóm các hình dạng khác nhau có thể được sử dụng để chọn, di chuyển hoặc thay đổi kích thước tất cả chúng cùng một lúc.
Đường dây/Đầu nối. Chúng là các hình dạng tuyến tính được sử dụng để kết nối các hình dạng khác; .
Phần nội dung. Nó có thể được sử dụng để nhúng XML nước ngoài vào bản trình bày của bạn.
Làm việc với AutoShapes
Có tổng cộng 182 hình dạng tự động mà người dùng có thể chèn vào bản trình bày, trong đó 120 hình dạng có các điều chỉnh nhất định cho phép người dùng điều chỉnh hình dạng và kích thước của chúng. Nhiều hình dạng chia sẻ một tập hợp các thuộc tính chung cho tất cả chúng
Thêm AutoShapes
Việc điều chỉnh các hình tự động trong PowerPoint được thực hiện trong Đơn vị hệ mét tiếng Anh. Vì vậy, cần phải tìm hiểu về EMU trước khi triển khai hình dạng tự động trong python-pptx. Trong EMU, inch là đơn vị chiều dài được sử dụng để xác định kích thước của hình dạng
from pptx import Presentation from pptx.enum.shapes import MSO_SHAPE from pptx.util import Inches prs = Presentation() title_only_slide_layout = prs.slide_layouts[5] slide = prs.slides.add_slide(title_only_slide_layout) shapes = slide.shapes shapes.title.text = 'Add an AutoShape to your shape' left = Inches(0.93) top = Inches(3.0) width = Inches(1.75) height = Inches(1.0) shape = shapes.add_shape(MSO_SHAPE.PENTAGON, left, top, width, height) shape.text = 'Your level 1' left = left + width - Inches(0.4) width = Inches(2.0) for n in range(2, 6): shape = shapes.add_shape(MSO_SHAPE.CHEVRON, left, top, width, height) shape.text = 'Your level %d' % n left = left + width - Inches(0.4) prs.save('third_presentation.pptx')Phần giữ chỗ
Nó là một thùng chứa được định dạng sẵn có thể được sử dụng để thêm văn bản vào bên trong nó. Nhiều trình giữ chỗ được cung cấp cho người dùng có thể được chèn trực tiếp vào bản trình bày. Điều này có thể tăng tốc độ phát triển bản trình bày vì người dùng không phải tạo vùng chứa và có thể trực tiếp làm việc trên nội dung sẽ được chèn vào trang chiếu.
Ghi chú. Bản thân các phần giữ chỗ là các hình trực giao. Hình dạng tự động, ảnh và khung đồ họa là các loại hình dạng khác nhau cũng có thể là trình giữ chỗ
Các loại trình giữ chỗ
Có nhiều loại trình giữ chỗ, như sau
Tiêu đề, Tiêu đề trung tâm, Tiêu đề phụ, Nội dung. đây là trình giữ chỗ kết hợp để tạo thành bố cục cơ bản cho bất kỳ bản trình bày nào. Các trình giữ chỗ này chỉ có thể bao gồm văn bản trong đó. Bạn có thể gạch đầu dòng văn bản được viết bên trong các chỗ dành sẵn này
Nội dung. Trình giữ chỗ này chủ yếu bao gồm phần thân của trang trình bày của bạn. Nó cho phép bạn chèn bảng, biểu đồ, SmartArt, ảnh, clipart hoặc clip phương tiện vào bản trình bày của mình
Hình Ảnh/Clip Nghệ Thuật. cả hai đều có thể được sử dụng để thêm hình ảnh vào trang trình bày. Trong PowerPoint, khi sử dụng clip art, nút được chèn sẽ đưa bạn đến thư viện clip art, nơi bạn có thể thêm bất kỳ hình ảnh nào bạn muốn vào bản trình bày của mình
Biểu Đồ, Bảng, Nghệ Thuật Thông Minh. Chúng được sử dụng để đặt nội dung đồ họa cao trong bản trình bày của bạn để làm cho bản trình bày của bạn trông hấp dẫn. Nó làm cho thông tin dễ trình bày hơn và dễ đọc hơn
Clip truyền thông. cho phép người dùng thêm bản ghi video hoặc âm thanh vào bản trình bày
Ngày, Chân trang, Số trang. Ba trình giữ chỗ này có sẵn trên hầu hết các bản cái và bố cục và có thể dễ dàng thêm hoặc triển khai trực tiếp
tiêu đề. Chúng không có sẵn trong trang chiếu cái hoặc bố trí trang chiếu và chỉ có thể được thêm vào trang chiếu cái hoặc trang chiếu cái.
Thân dọc, Đối tượng và Tiêu đề. Chúng được sử dụng cho văn bản viết theo chiều dọc. Chúng được sử dụng để chuẩn bị thuyết trình bằng tiếng Nhật
Truy cập trình giữ chỗ
Như đã thảo luận trước đó, mọi trình giữ chỗ là một hình dạng và có thể truy cập nó bằng cách sử dụng thuộc tính hình dạng của trang chiếu. Có thể truy cập trình giữ chỗ bằng cách sử dụng giá trị IDX của trình giữ chỗ. Giá trị số nguyên trỏ đến trình giữ chỗ bố cục trang chiếu mà từ đó nó đã kế thừa thuộc tính của nó. Nó giữ nguyên cho tất cả các trang chiếu được tạo bằng cách sử dụng bố cục cụ thể trong suốt vòng đời của trang chiếu.
Bạn có thể lấy giá trị IDX cho tất cả trình giữ chỗ trong bản trình bày như thế này
from pptx import Presentation from pptx.util import Inches present = Presentation() slide = present.slides.add_slide(present.slide_layouts[8]) for shape in slide.placeholders: print('%d %s' % (shape.placeholder_format.idx, shape.name))Chèn nội dung vào Placeholder
Việc thêm nội dung vào trình giữ chỗ sẽ dễ dàng hơn. Một số trình giữ chỗ nhất định có các phương pháp chuyên dụng để chèn nội dung. Hiện tại, chúng ta có thể thêm bảng, hình ảnh và biểu đồ có thể được thêm bằng các phương pháp như vậy. Văn bản bên trong nội dung và trình giữ chỗ tiêu đề có thể được thực hiện giống như trong hình dạng tự động
Chèn Picture in Picture Placeholder
Ảnh được chèn được kéo dài theo tỷ lệ, lấp đầy toàn bộ trình giữ chỗ. Điều này có thể tránh được nếu tỷ lệ khung hình của ảnh bằng tỷ lệ khung hình của trình giữ chỗ. Chúng tôi có thể cắt ảnh bằng thuộc tính cắt trên trình giữ chỗ.
Bây giờ chúng ta đã thảo luận về tất cả các yếu tố cần thiết, chúng ta có thể triển khai mã để thêm văn bản vào bản trình bày của mình
from pptx import Presentation presents = Presentation() title_slide_layout = presents.slide_layouts[0] slide = presents.slides.add_slide(title_slide_layout) title = slide.shapes.title subtitle = slide.placeholders[1] title.text = "Hy Everyone" subtitle.text = "We have successfully added text in the presentation" presents.save('first_presentation.pptx')Trích xuất nội dung từ bản trình bày
Chúng ta cũng có thể sử dụng python để trích xuất nội dung từ bản trình chiếu PowerPoint. Bây giờ, chúng ta hãy viết mã để trích xuất nội dung trên từ bản trình bày
from pptx import Presentation # I have stored the path of the string from which I want to read the text in the path variable #path is a raw string, it is easy to store the path in raw strings path=r"C:\Users\hp\Desktop\pythonProject\first_presentation.pptx" presents = Presentation(path) #store_all_text will store all the strings whenever a new word will be encountered the list will be added with a new value store_all_text = [] for slide in presents.slides: for shape in slide.shapes: if not shape.has_text_frame: continue for paragraph in shape.text_frame.paragraphs: for run in paragraph.runs: store_all_text.append(run.text) print(store_all_text)Thêm bảng vào bản trình bày của bạn
Chúng tôi có thể triển khai một bảng trong bản trình bày bằng python-pptx. Để chèn bảng, người ta phải hiểu các thuật ngữ sau
Bàn. Đó là sự sắp xếp dữ liệu theo hàng và cột. Đó là một cách thuận tiện để lưu trữ và hiển thị thông tin
Tế bào. Nó là đơn vị cơ bản của bảng được sử dụng để lưu trữ dữ liệu trong bảng. Nó là thùng chứa tất cả các giá trị. Trong PowerPoint, chúng tôi chỉ có thể thêm văn bản vào các vùng chứa này. Vì nó không hỗ trợ lưu trữ hình ảnh và video trong đó
Hàng ngang. Nó là tập hợp các ô nằm ngang liền nhau. Các ô chia sẻ cùng một ranh giới trên và dưới. Nó mở rộng từ ô ngoài cùng bên phải sang ô ngoài cùng bên trái trong bảng ở một cấp độ cụ thể
Cột. Nó là tập hợp các ô dọc liền kề. Các ô chia sẻ cùng một ranh giới bên phải và bên trái
ô đã hợp nhất. Sự kết hợp của các ô liền kề ngang hoặc dọc hoặc cả hai;