[**Documentation**](https://github.com/Byaidu/PDFMathTranslate) > **API Details** _(current)_

Table of Content

The present project supports two types of APIs; - [Functional calls in Python](#api-python) - [HTTP protocols](#api-http) ---

Python

As `pdf2zh` is an installed module in Python, we expose two methods for other programs to call in any Python scripts. For example, if you want translate a document from English to Chinese using Google Translate, you may use the following code: ```python from pdf2zh import translate, translate_stream params = { 'lang_in': 'en', 'lang_out': 'zh', 'service': 'google', 'thread': 4, } ``` Translate with files: ```python (file_mono, file_dual) = translate(files=['example.pdf'], **params)[0] ``` Translate with stream: ```python with open('example.pdf', 'rb') as f: (stream_mono, stream_dual) = translate_stream(stream=f.read(), **params) ``` [⬆️ Back to top](#toc) ---

HTTP

In a more flexible way, you can communicate with the program using HTTP protocols, if: 1. Install and run backend ```bash pip install pdf2zh[backend] pdf2zh --flask pdf2zh --celery worker ``` 2. Using HTTP protocols as follows: - Submit translate task ```bash curl http://localhost:11008/v1/translate -F "file=@example.pdf" -F "data={\"lang_in\":\"en\",\"lang_out\":\"zh\",\"service\":\"google\",\"thread\":4}" {"id":"d9894125-2f4e-45ea-9d93-1a9068d2045a"} ``` - Check Progress ```bash curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a {"info":{"n":13,"total":506},"state":"PROGRESS"} ``` - Check Progress _(if finished)_ ```bash curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a {"state":"SUCCESS"} ``` - Save monolingual file ```bash curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a/mono --output example-mono.pdf ``` - Save bilingual file ```bash curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a/dual --output example-dual.pdf ``` - Interrupt if running and delete the task ```bash curl http://localhost:11008/v1/translate/d9894125-2f4e-45ea-9d93-1a9068d2045a -X DELETE ``` [⬆️ Back to top](#toc) ---