Notebooks >> Scripts
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

136 lines
12 KiB

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "77e0481d-3f52-469d-a7bf-d0e705e5a2a4",
"metadata": {
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[33mDEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0mCollecting weasyprint\n",
" Downloading weasyprint-55.0-py3-none-any.whl (249 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m249.5/249.5 kB\u001b[0m \u001b[31m2.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: Pillow>=4.0.0 in /opt/homebrew/lib/python3.9/site-packages (from weasyprint) (9.0.1)\n",
"Collecting cssselect2>=0.1\n",
" Downloading cssselect2-0.6.0-py3-none-any.whl (15 kB)\n",
"Collecting pydyf>=0.0.3\n",
" Downloading pydyf-0.2.0-py3-none-any.whl (6.6 kB)\n",
"Collecting Pyphen>=0.9.1\n",
" Downloading pyphen-0.12.0-py3-none-any.whl (2.0 MB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m13.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0ma \u001b[36m0:00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: tinycss2>=1.0.0 in /opt/homebrew/lib/python3.9/site-packages (from weasyprint) (1.1.1)\n",
"Requirement already satisfied: cffi>=0.6 in /opt/homebrew/lib/python3.9/site-packages (from weasyprint) (1.15.0)\n",
"Collecting html5lib>=1.1\n",
" Downloading html5lib-1.1-py2.py3-none-any.whl (112 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m112.2/112.2 kB\u001b[0m \u001b[31m4.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting fonttools[woff]>=4.0.0\n",
" Downloading fonttools-4.33.3-py3-none-any.whl (930 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m930.9/930.9 kB\u001b[0m \u001b[31m16.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: pycparser in /opt/homebrew/lib/python3.9/site-packages (from cffi>=0.6->weasyprint) (2.21)\n",
"Requirement already satisfied: webencodings in /opt/homebrew/lib/python3.9/site-packages (from cssselect2>=0.1->weasyprint) (0.5.1)\n",
"Collecting brotli>=1.0.1\n",
" Downloading Brotli-1.0.9-cp39-cp39-macosx_10_9_universal2.whl (786 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m786.7/786.7 kB\u001b[0m \u001b[31m3.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m00:01\u001b[0m00:01\u001b[0m\n",
"\u001b[?25hCollecting zopfli>=0.1.4\n",
" Downloading zopfli-0.2.1-cp39-cp39-macosx_10_9_universal2.whl (289 kB)\n",
"\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m289.8/289.8 kB\u001b[0m \u001b[31m9.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: six>=1.9 in /opt/homebrew/lib/python3.9/site-packages (from html5lib>=1.1->weasyprint) (1.12.0)\n",
"Installing collected packages: brotli, zopfli, Pyphen, pydyf, html5lib, fonttools, cssselect2, weasyprint\n",
"\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33m DEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0m\u001b[33mDEPRECATION: Configuring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621\u001b[0m\u001b[33m\n",
"\u001b[0mSuccessfully installed Pyphen-0.12.0 brotli-1.0.9 cssselect2-0.6.0 fonttools-4.33.3 html5lib-1.1 pydyf-0.2.0 weasyprint-55.0 zopfli-0.2.1\n",
"\u001b[33mWARNING: There was an error checking the latest version of pip.\u001b[0m\u001b[33m\n",
"\u001b[0m"
]
}
],
"source": [
"!pip install weasyprint"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "db0a9ff4-403f-472e-8e1e-2fa36062e35d",
"metadata": {
"tags": []
},
"outputs": [
{
"ename": "FileNotFoundError",
"evalue": "[Errno 2] No such file or directory: '/User/donaldrich/Desktop/weasyprint-website.pdf'",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)",
"\u001b[1;32m/Users/donaldrich/Projects/secrets/code/Weazyprint/weasyprint.ipynb Cell 2'\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m <a href='vscode-notebook-cell:/Users/donaldrich/Projects/secrets/code/Weazyprint/weasyprint.ipynb#ch0000001?line=0'>1</a>\u001b[0m \u001b[39mfrom\u001b[39;00m \u001b[39mweasyprint\u001b[39;00m \u001b[39mimport\u001b[39;00m HTML\n\u001b[0;32m----> <a href='vscode-notebook-cell:/Users/donaldrich/Projects/secrets/code/Weazyprint/weasyprint.ipynb#ch0000001?line=2'>3</a>\u001b[0m HTML(\u001b[39m\"\u001b[39;49m\u001b[39mhttp://weasyprint.org/\u001b[39;49m\u001b[39m\"\u001b[39;49m)\u001b[39m.\u001b[39;49mwrite_pdf(\u001b[39m\"\u001b[39;49m\u001b[39m/User/donaldrich/Desktop/weasyprint-website.pdf\u001b[39;49m\u001b[39m\"\u001b[39;49m)\n",
"File \u001b[0;32m/opt/homebrew/lib/python3.9/site-packages/weasyprint/__init__.py:177\u001b[0m, in \u001b[0;36mHTML.write_pdf\u001b[0;34m(self, target, stylesheets, zoom, attachments, finisher, presentational_hints, optimize_size, font_config, counter_style, image_cache)\u001b[0m\n\u001b[1;32m 132\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mwrite_pdf\u001b[39m(\u001b[39mself\u001b[39m, target\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, stylesheets\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, zoom\u001b[39m=\u001b[39m\u001b[39m1\u001b[39m,\n\u001b[1;32m 133\u001b[0m attachments\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, finisher\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, presentational_hints\u001b[39m=\u001b[39m\u001b[39mFalse\u001b[39;00m,\n\u001b[1;32m 134\u001b[0m optimize_size\u001b[39m=\u001b[39m(\u001b[39m'\u001b[39m\u001b[39mfonts\u001b[39m\u001b[39m'\u001b[39m,), font_config\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m,\n\u001b[1;32m 135\u001b[0m counter_style\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m, image_cache\u001b[39m=\u001b[39m\u001b[39mNone\u001b[39;00m):\n\u001b[1;32m 136\u001b[0m \u001b[39m\"\"\"Render the document to a PDF file.\u001b[39;00m\n\u001b[1;32m 137\u001b[0m \n\u001b[1;32m 138\u001b[0m \u001b[39m This is a shortcut for calling :meth:`render`, then\u001b[39;00m\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 174\u001b[0m \n\u001b[1;32m 175\u001b[0m \u001b[39m \"\"\"\u001b[39;00m\n\u001b[1;32m 176\u001b[0m \u001b[39mreturn\u001b[39;00m (\n\u001b[0;32m--> 177\u001b[0m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mrender(\n\u001b[1;32m 178\u001b[0m stylesheets, presentational_hints\u001b[39m=\u001b[39;49mpresentational_hints,\n\u001b[1;32m 179\u001b[0m optimize_size\u001b[39m=\u001b[39;49moptimize_size, font_config\u001b[39m=\u001b[39;49mfont_config,\n\u001b[1;32m 180\u001b[0m counter_style\u001b[39m=\u001b[39;49mcounter_style, image_cache\u001b[39m=\u001b[39;49mimage_cache)\n\u001b[1;32m 181\u001b[0m \u001b[39m.\u001b[39;49mwrite_pdf(target, zoom, attachments, finisher))\n",
"File \u001b[0;32m/opt/homebrew/lib/python3.9/site-packages/weasyprint/document.py:853\u001b[0m, in \u001b[0;36mDocument.write_pdf\u001b[0;34m(self, target, zoom, attachments, finisher)\u001b[0m\n\u001b[1;32m 851\u001b[0m shutil\u001b[39m.\u001b[39mcopyfileobj(file_obj, target)\n\u001b[1;32m 852\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[0;32m--> 853\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mopen\u001b[39;49m(target, \u001b[39m'\u001b[39;49m\u001b[39mwb\u001b[39;49m\u001b[39m'\u001b[39;49m) \u001b[39mas\u001b[39;00m fd:\n\u001b[1;32m 854\u001b[0m shutil\u001b[39m.\u001b[39mcopyfileobj(file_obj, fd)\n",
"\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: '/User/donaldrich/Desktop/weasyprint-website.pdf'"
]
}
],
"source": [
"from weasyprint import HTML\n",
"\n",
"HTML(\"http://weasyprint.org/\").write_pdf(\"/User/donaldrich/Desktop/weasyprint.pdf\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "b66cdca8-02c4-4761-84b1-a0a91991fb0a",
"metadata": {},
"outputs": [],
"source": [
"https://selenium-python.readthedocs.io/_/downloads/en/latest/pdf/"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.13 64-bit",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
},
"vscode": {
"interpreter": {
"hash": "b0fa6594d8f4cbf19f97940f81e996739fb7646882a419484c72d19e05852a7e"
}
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
"state": {},
"version_major": 2,
"version_minor": 0
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}