{ "info": { "author": "mbello", "author_email": "mbello@users.noreply.github.com", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# Overview\n\nThis is a simple module to execute pdflatex in an easy and clean way.\nThe pdflatex command line utility by default generates a lot of output and can create many files.\n\n## Instantiation\n\nThe PDFLaTeX class can be instantiated directly or through helpers:\n\n- **from_texfile(filename)**\n- **from_binarystring(binstr, jobname)**\n- **from_jinja2_template(jinja2_template, jobname = None, \\*\\*render_kwargs)**\n\njobname is any string that can be used to create a valid filename;\n\n\n## Examples:\n\nIn all the following examples, no files are left on the filesystem,\nunless requested with the *keep_pdf_file* and *keep_log_file* parameters\nto the *create_pdf* method.\n\n### Create PDF from .tex file\n\n from pdflatex import PDFLaTeX\n\n pdfl = PDFLaTeX.from_texfile('my_file.tex')\n pdf, log, completed_process = pdfl.create_pdf(keep_pdf_file=True, keep_log_file=True)\n\nThe function **create_pdf** returns 3 results:\n1. The pdf file in a binary string;\n2. The log file generated by pdflatex as text;\n3. An instance of subprocess.CompleteProcess with the results of the pdflatex execution.\n\nAlso, **create_pdf** takes a few parameters:\n1. keep_pdf_file: an optional boolean. Default to False. If True a pdf file is maintained. Its location and name depends on the value of the -output-directory and -jobname parameters. It is also derived from the tex filename or the jinja2 template filename if no parameter is given;\n2. keep_log_file: same thing, for the log file.\n3. env: a default ENV mapping for the execution of pdflatex. You probably want to skip this.\n\n\n### Create PDF from Jinja2 Template\n\n import os\n import pdflatex\n import jinja2 \n \n env = pdflatex.JINJA2_ENV\n env['loader'] = jinja2.FileSystemLoader(os.path.abspath('.'))\n env = jinja2.Environment(**env)\n template = env.get_template('jinja.tex')\n pdfl = pdflatex.PDFLaTeX.from_jinja2_template(template, data='Hello world!')\n pdf, log, cp = pdfl.create_pdf()\n\nQuite self explanatory, just note that pdflatex includes a dictionary\nJINJA2_ENV with a suggestion of environment parameters for you to use with\njinja2 and LaTeX. It os defined as:\n\n JINJA2_ENV = {'block_start_string': '\\BLOCK{',\n 'block_end_string': '}',\n 'variable_start_string': '\\VAR{',\n 'variable_end_string': '}',\n 'comment_start_string': '\\#{',\n 'comment_end_string': '}',\n 'line_statement_prefix': '%%',\n 'line_comment_prefix': '%#',\n 'trim_blocks': True,\n 'autoescape': False }\n\n\n### Create PDF file from binary string:\n\n import pdflatex\n\n with open('my_file.tex', 'rb') as f:\n pdfl = pdflatex.PDFLaTeX.from_binarystring(f.read(), 'my_file')\n pdf, log, cp = pdfl.create_pdf()", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mbello/pdflatex", "keywords": "pdflatex,pypdflatex,latex to pdf using python", "license": "", "maintainer": "mbello", "maintainer_email": "mbello@users.noreply.github.com", "name": "pdflatex", "package_url": "https://pypi.org/project/pdflatex/", "platform": "", "project_url": "https://pypi.org/project/pdflatex/", "project_urls": { "Homepage": "https://github.com/mbello/pdflatex", "Repository": "https://github.com/mbello/pdflatex" }, "release_url": "https://pypi.org/project/pdflatex/0.1.3/", "requires_dist": [ "attrs (>=18.2,<19.0)" ], "requires_python": ">=3.6,<4.0", "summary": "Simple wrapper to calling pdflatex", "version": "0.1.3" }, "last_serial": 4780613, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "84ec5d7b5eefe753bb766fc076f4211d", "sha256": "710e9d426d18e741ba7acc05af1e7ce585ef9a31ff671913eda77db829e5415a" }, "downloads": -1, "filename": "pdflatex-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "84ec5d7b5eefe753bb766fc076f4211d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 6970, "upload_time": "2019-02-05T04:17:41", "url": "https://files.pythonhosted.org/packages/ff/99/4b05e9ae3d1fae809bfc837d79def03b21349316149f3966ffedaa59c877/pdflatex-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44569d0319442050fba03826017d7e6b", "sha256": "48f754c1c8e2db1b9baa81be50dc45698263a74c29f49b4920c7d72aa72fd8dd" }, "downloads": -1, "filename": "pdflatex-0.1.0.tar.gz", "has_sig": false, "md5_digest": "44569d0319442050fba03826017d7e6b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2618, "upload_time": "2019-02-05T04:17:43", "url": "https://files.pythonhosted.org/packages/b2/b5/d781b7c0d25955f3a30bcdadab003baf6e90053be43da2967d3de0aebf37/pdflatex-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "7fee1e628a2d42c700e2f9dfbe45b649", "sha256": "aba0813805d721fa13c939a65c9ffe3ad96e38e0ca2405c5d072bd57bfdc2037" }, "downloads": -1, "filename": "pdflatex-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "7fee1e628a2d42c700e2f9dfbe45b649", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 7106, "upload_time": "2019-02-05T04:20:18", "url": "https://files.pythonhosted.org/packages/5e/07/3c6134873598ea50cd64f7233ce4682a381f102915a650b92a2d103090b2/pdflatex-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bf69d695d62c23f48662f4f528ea820c", "sha256": "8f4d7bb75956a6668235ce9b5e4fae56e643497822e9ad45e3e0e6361b830f02" }, "downloads": -1, "filename": "pdflatex-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bf69d695d62c23f48662f4f528ea820c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 2639, "upload_time": "2019-02-05T04:20:19", "url": "https://files.pythonhosted.org/packages/cd/4d/86a4d4c1be38877b5f5c5e39e0cebe3dc789eb57d04a7110c7fbe1183d18/pdflatex-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "b477e169622eba4c6fcd1036277edd75", "sha256": "958810ccd2fb6045bb7bfd151f8431e51104f9ce97ed95139e1d632e4d2d82f1" }, "downloads": -1, "filename": "pdflatex-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b477e169622eba4c6fcd1036277edd75", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 8340, "upload_time": "2019-02-05T04:27:33", "url": "https://files.pythonhosted.org/packages/da/6e/9ef2d416cb4799c695c834c8f75810a48ad17175eb69969206ac7e177a09/pdflatex-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "415c144c920323b1f230b57d2cd084ba", "sha256": "01e88a67b124e6914ccc18030f8217fe1252c1c7013a498d2de7614ed230ce8c" }, "downloads": -1, "filename": "pdflatex-0.1.2.tar.gz", "has_sig": false, "md5_digest": "415c144c920323b1f230b57d2cd084ba", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4060, "upload_time": "2019-02-05T04:27:34", "url": "https://files.pythonhosted.org/packages/f2/5b/881b34ad11bc8e1cdf562f4cf3d1b5bc7d23ce6a2152ef4bc823b85fa1de/pdflatex-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3e704c0ab2693bcd6a9c2aa2f59b428a", "sha256": "0e22bf240dd2dc2dd348686e5d259ff00af9ccc8bb1db481c38d03f29184e56e" }, "downloads": -1, "filename": "pdflatex-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3e704c0ab2693bcd6a9c2aa2f59b428a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 8350, "upload_time": "2019-02-05T04:30:44", "url": "https://files.pythonhosted.org/packages/c5/7d/22617944ceff84c65a515a0a8f7d61386c7ea61a3c592313510525a207ae/pdflatex-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11c941973e3133ae261d8215b3c1df43", "sha256": "b8109ff5a5b813e15d6a9e05b4c4c1ae3893b407ad1f8567ef5b89ec37a7aed5" }, "downloads": -1, "filename": "pdflatex-0.1.3.tar.gz", "has_sig": false, "md5_digest": "11c941973e3133ae261d8215b3c1df43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4076, "upload_time": "2019-02-05T04:30:46", "url": "https://files.pythonhosted.org/packages/ad/c8/4328fc20c2fcdc7db89b86203b93dd53889eba5b6260b8b499c47947c8be/pdflatex-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3e704c0ab2693bcd6a9c2aa2f59b428a", "sha256": "0e22bf240dd2dc2dd348686e5d259ff00af9ccc8bb1db481c38d03f29184e56e" }, "downloads": -1, "filename": "pdflatex-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3e704c0ab2693bcd6a9c2aa2f59b428a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 8350, "upload_time": "2019-02-05T04:30:44", "url": "https://files.pythonhosted.org/packages/c5/7d/22617944ceff84c65a515a0a8f7d61386c7ea61a3c592313510525a207ae/pdflatex-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "11c941973e3133ae261d8215b3c1df43", "sha256": "b8109ff5a5b813e15d6a9e05b4c4c1ae3893b407ad1f8567ef5b89ec37a7aed5" }, "downloads": -1, "filename": "pdflatex-0.1.3.tar.gz", "has_sig": false, "md5_digest": "11c941973e3133ae261d8215b3c1df43", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 4076, "upload_time": "2019-02-05T04:30:46", "url": "https://files.pythonhosted.org/packages/ad/c8/4328fc20c2fcdc7db89b86203b93dd53889eba5b6260b8b499c47947c8be/pdflatex-0.1.3.tar.gz" } ] }