|
[**Documentation**](https://github.com/Byaidu/PDFMathTranslate) > **API Details** _(current)_ |
|
|
|
<h2 id="toc">Table of Content</h2> |
|
The present project supports two types of APIs, All methods need the Redis; |
|
|
|
- [Functional calls in Python](#api-python) |
|
- [HTTP protocols](#api-http) |
|
|
|
--- |
|
|
|
<h2 id="api-python">Python</h2> |
|
|
|
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) |
|
|
|
--- |
|
|
|
<h2 id="api-http">HTTP</h2> |
|
|
|
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 "[email protected]" -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) |
|
|
|
--- |
|
|