{"id":4594,"date":"2019-12-30T15:04:50","date_gmt":"2019-12-30T14:04:50","guid":{"rendered":"https:\/\/pythonprogramming.altervista.org\/?p=4594"},"modified":"2023-08-11T18:33:29","modified_gmt":"2023-08-11T16:33:29","slug":"python-pptx-put-images-in-powerpoint","status":"publish","type":"post","link":"https:\/\/pythonprogramming.altervista.org\/python-pptx-put-images-in-powerpoint\/","title":{"rendered":"Python-pptx: put images in powerpoint"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72.png\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"703\" src=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72-960x703.png\" alt=\"\" class=\"wp-image-13218\" srcset=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72-960x703.png 960w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72-320x234.png 320w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72-768x562.png 768w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2023\/08\/image-72.png 1213w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In this simple script you can see how tp insert a <strong>image<\/strong> in <strong>powerpoint<\/strong>. We used the layout n.3, but you can change it in the list containing the data.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">It may not work since python 3.10<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">This code may not work for the new version of python. In this case there is another example after this that it should work.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from pptx import Presentation\nimport os\n\nprs = Presentation()\n\nclass MySlide:\n    def __init__(self, data):\n        self.layout = prs.slide_layouts[data[3]]\n        self.slide=prs.slides.add_slide(self.layout)\n        self.title=self.slide.shapes.title\n        self.title.text=data[0]\n        self.subtitle=self.slide.placeholders[1]\n        self.subtitle.text=data[1]\n        if data[2] != \"\":\n        \tself.slide.placeholders[2].insert_picture(data[2])\n\nslides = [\n    [\"USA Weather\",       #data[0]\n     \"Subtitle(Bullet)\",\n     \"girl.png\",\n     8],\n    [\"Malaysia Weather\",       #data[0]\n     \"Content(Bullet)\",\n     \"\",\n     3],\n    [\"China Weather\",       #data[0]\n     \"This is a brown Fox\",\n     \"\",\n     3]\n]\n\nfor each_slide in slides:\n    MySlide(each_slide)\n\nprs.save(\"stack.pptx\")\nos.startfile(\"stack.pptx\")<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Output<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/12\/images-powerpoint.png\"><img loading=\"lazy\" decoding=\"async\" width=\"218\" height=\"480\" src=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/12\/images-powerpoint.png\" alt=\"\" class=\"wp-image-4595\"\/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">In case you got an error, try this code<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">from pptx import Presentation\nimport os\n\nprs = Presentation()\n\nclass MySlide:\n    def __init__(self, data):\n        self.layout = prs.slide_layouts[data[3]]\n        self.slide=prs.slides.add_slide(self.layout)\n        self.title=self.slide.shapes.title\n        self.title.text=data[0]\n        self.subtitle=self.slide.placeholders[1]\n        self.subtitle.text=data[1]\n\n        for shape in self.slide.placeholders:\n            print('%d %s %s' % (\n             shape.placeholder_format.idx,\n             shape.placeholder_format.type,\n             shape.name))\n            print()\n        if data[2] != \"\":\n        \tself.img = self.slide.placeholders[1].insert_picture(data[2])\n\nslides = [\n    [\"USA Weather\",       #data[0]\n     \"Subtitle(Bullet)\",\n     \"girls.png\",\n     8],\n    [\"Malaysia Weather\",       #data[0]\n     \"Content(Bullet)\",\n     \"\",\n     3],\n    [\"China Weather\",       #data[0]\n     \"This is a brown Fox\",\n     \"\",\n     3]\n]\n\nfor each_slide in slides:\n    MySlide(each_slide)\n\nprs.save(\"stack.pptx\")\nos.startfile(\"stack.pptx\")<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This works for python 3.10 and above<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import collections \nimport collections.abc\nimport os\nfrom pptx import Presentation\n\nprs = Presentation()\n\nclass MySlide:\n    def __init__(self, data):\n        self.layout = prs.slide_layouts[data[3]]\n        self.slide=prs.slides.add_slide(self.layout)\n        self.title=self.slide.shapes.title\n        self.title.text=data[0]\n        self.subtitle=self.slide.placeholders[1]\n        self.subtitle.text=data[1]\n\n        for shape in self.slide.placeholders:\n            print('%d %s %s' % (\n             shape.placeholder_format.idx,\n             shape.placeholder_format.type,\n             shape.name))\n            print()\n        if data[2] != \"\":\n            self.img = self.slide.placeholders[1].insert_picture(data[2])\n\nslides = [\n    [\"USA Weather\",       #data[0]\n     \"Subtitle(Bullet)\",\n     \"woman.png\",\n     8],\n    [\"Malaysia Weather\",       #data[0]\n     \"Content(Bullet)\",\n     \"\",\n     3],\n    [\"China Weather\",       #data[0]\n     \"This is a brown Fox\",\n     \"\",\n     3]\n]\n\nfor each_slide in slides:\n    MySlide(each_slide)\n\nprs.save(\"stack.pptx\")\nos.startfile(\"stack.pptx\")<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><h4>Python and Powerpoint<\/h4>\r\n\r\n\t<script>\r\nvar title = \"Python and powerpoint\";\r\n\t\tvar links = [\r\n\t\t[\"https:\/\/pythonprogramming.altervista.org\/?p=5719&preview=true\",\"Present with SVG files\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/python-pptx-put-images-in-powerpoint\/\",\"Put images in powerpoint with python-pptx\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/create-a-presentation-with-python-presentations\/\",\"Python-Presentations... without Powerpoint\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/python-to-create-quickly-powepoint-presentation\/\",\"PyPowerpoint 1\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/python-to-powerpoint-2-0\/\",\"PyPowerpoint 2\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/python-and-powerpoint-3-0\/\",\"PyPowerpoint 3\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/powerpoint-pil-png-animated-gif\/\",\"Create a Gif with Powerpoint and Python\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/inserting-an-image-in-powerpoint-with-python\/\",\"Fit Images in Powerpoint with Python\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/a-program-to-use-powerpoint-with-python\/\", \"Use Powerpoint with Python\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/create-presentations-with-python-pptx\/\",\"Create a Powerpoint with Python\"],\r\n[\"https:\/\/pythonprogramming.altervista.org\/simple-presentation-in-pure-python-while-you-learn-tkinter\/\", \"Createa Slides without Powerpoint\"]\r\n\t\t\t\r\n];\r\n<\/script>\r\n<script>\r\n\t\r\nif (typeof next2 != \"undefined\"){let next2 = 0;}\r\n\t\r\nnext2 = 0;\r\n\thtml = \"\";\/\/<b style='color:coral;font-size:1.2em'>Other posts about \" + title + \"<\/b><br>\";\r\nfor (address of links) \r\n{\r\n\r\n\tif (next2 == 1){\r\n\t\thtml += \"<div style='background:coral'>\";\r\n\t\thtml += \"Next link => <a href='\" + address[0] + \"'>\" + address[1] + \"<\/a>\";\r\n\t\thtml += \"<\/div><br>\";\r\n\t\tnext2 = 0;\r\n\t}\r\n\tif (address[0] == document.URL) {\r\n\t\tnext2 = 1;\r\n\t}\r\n}\r\n\r\nif (typeof next != \"undefined\") {let next = 0;}\r\nif (typeof addressStart != \"undefined\") {let addressStart = \"\";}\r\nnext = 0;\r\naddressStart = \"<a href='\";\r\nfor (address of links) {\r\n\tif (next == 1){\r\n\t\thtml += \">>>\" + addressStart + address[0] + \"'>\" + address[1] + \"<\/a><br>\";\r\n\t\tnext = 0;\r\n\t}\r\n\telse if (addressStart + address[0] != document.URL)\r\n\t{\r\n\t\thtml += addressStart + address[0] + \"'>\" + address[1] + \"<\/a><br>\";\r\n\t}\r\n\telse\r\n\t{\r\n\t\tnext = 1;\r\n\t\tnext_address = address[0]\r\n\t\tnext_title = address[1]\r\n\t\thtml += \"<span style='color:gray'>\" + address[1] + \"<\/span><br>\";\r\n\t}\r\n\r\n}\r\n\r\n\thtml += `<span style=\"font-size:8px\">Powered by <a href=\"https:\/\/pythonprogramming.altervista.org\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2673\" src=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2.png\" alt=\"\" width=\"70\" height=\"25\" srcset=\"https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2.png 156w, https:\/\/pythonprogramming.altervista.org\/wp-content\/uploads\/2019\/06\/altervista2-150x56.png 150w\" sizes=\"auto, (max-width: 70px) 100vw, 70px\" \/>pythonprogramming.altervista.org<\/a><\/span>`\r\n\thtml = \"<div style='background:yellow'>\" + html + \"<\/div>\";\r\n\tdocument.write(html)\r\n<\/script>\r\n<br>\r\n\t<!----- pubblicit\u00e0-------- vedi h:\\ads\\codice_di_prima.txt per il codice che era qui --------------------->\r\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- Altervista-pythonprogramming-336X280 -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-4189782812829764\"\r\n     data-ad-slot=\"2548661001\"\r\n     data-ad-format=\"auto\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\r\n\t<!-- fine ad --><\/p>\n","protected":false},"excerpt":{"rendered":"Put images in powerpoint with python-pptx\n<a class=\"moretag\" href=\"https:\/\/pythonprogramming.altervista.org\/python-pptx-put-images-in-powerpoint\/\"> [...]<\/a>","protected":false},"author":1,"featured_media":4597,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","footnotes":""},"categories":[196,667],"tags":[405,632,4],"class_list":["post-4594","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powerpoint","category-python-pptx","tag-powerpoint","tag-pptx","tag-python"],"avopt_banners_inside_post":true,"avopt_banners_on_page":true,"av_copy_from":"","av_sharing_message":"","av_sharing_allowed":true,"av_sharing_on":{"fb":[],"tw":[]},"av_allow_affiliate_banner":false,"av_allow_affiliate_multi_banner":false,"av_show_affiliation_buy_button":false,"av_post_rating":true,"av_have_post_rating_value":false,"av_is_artificial_intelligence_content":false,"_links":{"self":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/4594","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/comments?post=4594"}],"version-history":[{"count":4,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/4594\/revisions"}],"predecessor-version":[{"id":13221,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/posts\/4594\/revisions\/13221"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media\/4597"}],"wp:attachment":[{"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/media?parent=4594"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/categories?post=4594"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pythonprogramming.altervista.org\/wp-json\/wp\/v2\/tags?post=4594"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}