Doctranslate.io

API ແປ PDF ແອັດສະປາຍ ຫາ ຫວຽດນາມ: ການເຊື່ອມໂຍງ ໄວ & ງ່າຍ

Đăng bởi

vào

ເຫດຜົນທີ່ການແປ PDF ແບບໂປຣແກຣມເປັນສິ່ງທ້າທາຍທີ່ສຳຄັນ

ນັກພັດທະນາມັກຈະປະເຊີນກັບອຸປະສັກທີ່ສຳຄັນເມື່ອພະຍາຍາມແປເອກະສານ PDF ດ້ວຍໂປຣແກຣມ, ໂດຍສະເພາະລະຫວ່າງພາສາຕ່າງໆ ເຊັ່ນ ແອັດສະປາຍ ແລະ ຫວຽດນາມ.
ບັນຫາຫຼັກແມ່ນວ່າ PDF ບໍ່ແມ່ນໄຟລ໌ຂໍ້ຄວາມທຳມະດາ; ມັນເປັນຮູບແບບທີ່ຊັບຊ້ອນ, ມີການຈັດວາງທີ່ຄົງທີ່ທີ່ອອກແບບມາສໍາລັບການນໍາສະເຫນີ, ບໍ່ແມ່ນການດັດແກ້.
ຄວາມສັບສົນນີ້ເຮັດໃຫ້ເກີດຄວາມຫຍຸ້ງຍາກຫຼາຍຂັ້ນຕອນທີ່ສາມາດເຮັດໃຫ້ຂະບວນການແປແບບອັດຕະໂນມັດຕົກລາງໄດ້ຢ່າງວ່ອງໄວ.

ສິ່ງທ້າທາຍຕົ້ນຕໍແມ່ນການຮັກສາຮູບແບບຕົ້ນສະບັບຂອງເອກະສານແລະການຈັດຮູບແບບໃນລະຫວ່າງຂະບວນການແປ.
PDFs ປະກອບດ້ວຍການຈັດຕໍາແໜ່ງທີ່ຊັດເຈນສໍາລັບຂໍ້ຄວາມ, ຮູບພາບ, ຖັນ, ຫົວຂໍ້, ແລະທ້າຍໜ້າ, ເຊິ່ງທັງຫມົດຕ້ອງໄດ້ຮັບການຮັກສາໄວ້.
ການສະກັດເອົາຂໍ້ຄວາມເພື່ອແປ ແລະຫຼັງຈາກນັ້ນນໍາເອົາຂໍ້ຄວາມທີ່ແປແລ້ວ, ເຊິ່ງມັກຈະຍາວກວ່າ, ກັບມາໃສ່ຄືນໂດຍບໍ່ທໍາລາຍໂຄງສ້າງສາຍຕາແມ່ນເປັນວຽກງານດ້ານເຕັກນິກທີ່ໃຫຍ່ຫຼວງ.
ຖ້າບໍ່ມີເຄື່ອງມືສະເພາະ, ເອກະສານທີ່ໄດ້ຮັບອາດຈະກາຍເປັນຄວາມວຸ້ນວາຍຂອງຂໍ້ຄວາມທີ່ຊ້ອນກັນ ແລະອົງປະກອບທີ່ວາງຜິດບ່ອນ.

ຍິ່ງໄປກວ່ານັ້ນ, ການຈັດການກັບອົງປະກອບທີ່ຝັງໄວ້ເຊັ່ນ: ຕາຕະລາງ, ຕາຕະລາງສະແດງ, ແລະກາຟ ເພີ່ມຄວາມສັບສົນອີກຊັ້ນໜຶ່ງ.
ອົງປະກອບເຫຼົ່ານີ້ຕ້ອງໄດ້ຮັບການລະບຸ, ເນື້ອໃນຂໍ້ຄວາມຂອງພວກມັນຖືກແປ, ແລະຫຼັງຈາກນັ້ນພວກມັນຕ້ອງໄດ້ຮັບການສ້າງຄືນໃຫມ່ຢ່າງສົມບູນໃນເອກະສານເປົ້າຫມາຍ.
ການເຂົ້າລະຫັດຕົວອັກສອນກໍ່ເປັນບັນຫາທີ່ສໍາຄັນ, ໂດຍສະເພາະໃນເວລາທີ່ຈັດການກັບເຄື່ອງໝາຍສຽງຂອງ ແອັດສະປາຍ (ເຊັ່ນ: ñ, á, é) ແລະເຄື່ອງໝາຍສຽງທີ່ຊັບຊ້ອນຂອງ ຫວຽດນາມ (ເຊັ່ນ: ă, ê, ô, ư).
ການຈັດການການເຂົ້າລະຫັດບໍ່ຖືກຕ້ອງສາມາດນໍາໄປສູ່ຂໍ້ຄວາມທີ່ເສຍຫາຍ, ເຮັດໃຫ້ເອກະສານສຸດທ້າຍບໍ່ສາມາດອ່ານໄດ້ຢ່າງສົມບູນແລະບໍ່ເປັນມືອາຊີບ.

ແນະນໍາ Doctranslate API: ວິທີແກ້ໄຂອັນດັບທໍາອິດຂອງນັກພັດທະນາ

Doctranslate API ສະຫນອງການແກ້ໄຂທີ່ເຂັ້ມແຂງແລະສະຫງ່າງາມຕໍ່ສິ່ງທ້າທາຍເຫຼົ່ານີ້, ສະເຫນີເຄື່ອງມືທີ່ມີປະສິດທິພາບສໍາລັບການແປເອກະສານທີ່ມີຄວາມຖືກຕ້ອງສູງ.
ສ້າງເປັນ RESTful API, ມັນອະນຸຍາດໃຫ້ນັກພັດທະນາສາມາດລວມເອົາຄວາມສາມາດໃນການແປ PDF ແອັດສະປາຍ ເປັນ ຫວຽດນາມ ເຂົ້າໃນແອັບພລິເຄຊັນໃດກໍໄດ້ຢ່າງງ່າຍດາຍ.
API ດຶງເອົາຄວາມສັບສົນຂອງການແຍກໄຟລ໌, ການສ້າງຮູບແບບຄືນໃໝ່, ແລະການເຂົ້າລະຫັດຕົວອັກສອນອອກ, ໃຫ້ປະສົບການທີ່ບໍ່ມີຮອຍຕໍ່.

ໂດຍຫຼັກແລ້ວ, Doctranslate API ຖືກອອກແບບມາສໍາລັບຈຸດປະສົງຕົ້ນຕໍອັນດຽວຄື: ເພື່ອຮັກສາໂຄງສ້າງຂອງເອກະສານຕົ້ນສະບັບດ້ວຍຄວາມຖືກຕ້ອງທີ່ບໍ່ມີໃຜທຽບເທົ່າ.
ນີ້ຫມາຍຄວາມວ່າຮູບແບບ, ຕາຕະລາງ, ຕົວອັກສອນ, ແລະຮູບພາບຕົ້ນສະບັບທັງຫມົດຂອງທ່ານຖືກຮັກສາໄວ້ຢ່າງລະມັດລະວັງໃນໄຟລ໌ PDF ຫວຽດນາມ ທີ່ແປແລ້ວສຸດທ້າຍ.
ຂັ້ນຕອນການເຮັດວຽກແມ່ນໄດ້ຖືກປັບປຸງໃຫ້ເປັນຂະບວນການທີ່ງ່າຍດາຍ, ບໍ່ພ້ອມກັນ: ອັບໂຫລດເອກະສານຕົ້ນສະບັບຂອງທ່ານ, ເລີ່ມຕົ້ນການແປ, ແລະດາວໂຫລດໄຟລ໌ທີ່ສໍາເລັດ.
ວິທີການທີ່ບໍ່ມີການສະກັດກັ້ນນີ້ແມ່ນດີເລີດສໍາລັບການຈັດການໄຟລ໌ຂະຫນາດໃຫຍ່ຫຼືການປະມວນຜົນເປັນຊຸດໂດຍບໍ່ໄດ້ຜູກມັດຊັບພະຍາກອນຂອງແອັບພລິເຄຊັນຂອງທ່ານ.

ການໂຕ້ຕອບກັບ API ແມ່ນຖືກຈັດການໂດຍຜ່ານຄໍາຮ້ອງຂໍ HTTP ມາດຕະຖານ, ໂດຍມີການຕອບສະຫນອງທີ່ຖືກສົ່ງໃນຮູບແບບ JSON ທີ່ສະອາດ.
ອັນນີ້ເຮັດໃຫ້ການເຊື່ອມໂຍງງ່າຍດາຍສໍາລັບພາສາການຂຽນໂປຣແກຣມທີ່ທັນສະໄຫມໃດໆ, ຕັ້ງແຕ່ Python ແລະ Node.js ເຖິງ Java ແລະ C#.
ນັກພັດທະນາສາມາດສຸມໃສ່ເຫດຜົນຫຼັກຂອງແອັບພລິເຄຊັນຂອງພວກເຂົາ ແທນທີ່ຈະຈົມຢູ່ກັບລາຍລະອຽດທີ່ສັບສົນຂອງການຈັດການ PDF.
ການອອກແບບທີ່ເນັ້ນນັກພັດທະນານີ້ຮັບປະກັນຂະບວນການເຊື່ອມໂຍງທີ່ວ່ອງໄວ, ປະຢັດເວລາແລະຊັບພະຍາກອນທີ່ມີຄ່າ.

ຄູ່ມືຂັ້ນຕອນຕໍ່ຂັ້ນຕອນ: ການເຊື່ອມໂຍງ API ສໍາລັບການແປ PDF ຈາກ ແອັດສະປາຍ ເປັນ ຫວຽດນາມ

ຄູ່ມືນີ້ສະຫນອງການຍ່າງຜ່ານທີ່ສົມບູນແບບສໍາລັບການເຊື່ອມໂຍງ Doctranslate API ເພື່ອແປໄຟລ໌ PDF ຈາກ ແອັດສະປາຍ ເປັນ ຫວຽດນາມ.
ພວກເຮົາຈະກວມເອົາທຸກຢ່າງຕັ້ງແຕ່ການຕັ້ງຄ່າສະພາບແວດລ້ອມຂອງທ່ານແລະການຢັ້ງຢືນຈົນເຖິງການອັບໂຫລດໄຟລ໌ແລະການດາວໂຫລດການແປສຸດທ້າຍ.
ການປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້ຈະຊ່ວຍໃຫ້ທ່ານສ້າງຂະບວນການແປທີ່ມີປະສິດທິພາບ, ອັດຕະໂນມັດພາຍໃນແອັບພລິເຄຊັນຂອງທ່ານເອງ.

ການຕັ້ງຄ່າສະພາບແວດລ້ອມຂອງທ່ານ

ກ່ອນທີ່ຈະເຮັດການຮຽກຮ້ອງ API ໃດໆ, ທ່ານຈໍາເປັນຕ້ອງຮັບປະກັນວ່າສະພາບແວດລ້ອມການພັດທະນາຂອງທ່ານຖືກກະກຽມເພື່ອຈັດການຄໍາຮ້ອງຂໍ HTTP ແລະການອັບໂຫລດໄຟລ໌ແບບ multipart.
ສໍາລັບນັກພັດທະນາ Python, ຫ້ອງສະໝຸດ `requests` ແມ່ນທາງເລືອກມາດຕະຖານສໍາລັບຄວາມງ່າຍດາຍແລະພະລັງງານໃນການຈັດການການສື່ສານ HTTP.
ທ່ານສາມາດຕິດຕັ້ງມັນໄດ້ງ່າຍໂດຍໃຊ້ pip: `pip install requests`.
ສໍາລັບນັກພັດທະນາ Node.js, `axios` ແມ່ນລູກຄ້າ HTTP ທີ່ອີງໃສ່ຄໍາໝັ້ນສັນຍາທີ່ນິຍົມ, ແລະ `form-data` ແມ່ນຈໍາເປັນສໍາລັບການສ້າງຄໍາຮ້ອງຂໍການອັບໂຫລດໄຟລ໌.
ສິ່ງເຫຼົ່ານີ້ສາມາດຕິດຕັ້ງໄດ້ຜ່ານ npm: `npm install axios form-data`.

ການຢັ້ງຢືນ: ການເອົາລະຫັດ API ຂອງທ່ານ

ການຮ້ອງຂໍທັງຫມົດຕໍ່ Doctranslate API ຕ້ອງໄດ້ຮັບການຢັ້ງຢືນໂດຍໃຊ້ລະຫັດ API ທີ່ເປັນເອກະລັກ.
ລະຫັດນີ້ຮັບປະກັນວ່າຄໍາຮ້ອງຂໍຂອງທ່ານມີຄວາມປອດໄພແລະຖືກເຊື່ອມໂຍງຢ່າງຖືກຕ້ອງກັບບັນຊີຂອງທ່ານ.
ເພື່ອໃຫ້ໄດ້ລະຫັດຂອງທ່ານ, ທ່ານຈະຕ້ອງລົງທະບຽນຢູ່ໃນພອດທັລນັກພັດທະນາ Doctranslate ແລະສ້າງແອັບພລິເຄຊັນໃຫມ່.
ເມື່ອສ້າງແລ້ວ, ລະຫັດ API ຂອງທ່ານຈະມີຢູ່ໃນ dashboard ບັນຊີຂອງທ່ານ.
ມັນເປັນສິ່ງສໍາຄັນທີ່ຈະຮັກສາລະຫັດນີ້ເປັນຄວາມລັບແລະເກັບຮັກສາມັນໄວ້ຢ່າງປອດໄພ, ຕົວຢ່າງ, ເປັນຕົວແປສະພາບແວດລ້ອມ, ແທນທີ່ຈະ hardcoding ມັນໂດຍກົງໃນລະຫັດແຫຼ່ງຂອງທ່ານ.

ຂັ້ນຕອນທີ 1: ການອັບໂຫລດ PDF ແອັດສະປາຍ ຂອງທ່ານ

ຂັ້ນຕອນທໍາອິດໃນຂະບວນການແປແມ່ນການອັບໂຫລດເອກະສານ PDF ແອັດສະປາຍ ຕົ້ນສະບັບຂອງທ່ານໄປຍັງເຊີບເວີ Doctranslate.
ອັນນີ້ແມ່ນເຮັດໄດ້ໂດຍການສົ່ງຄໍາຮ້ອງຂໍ `POST` ໄປຫາ endpoint `/v2/document/upload`.
ຄໍາຮ້ອງຂໍຕ້ອງຖືກຈັດຮູບແບບເປັນ `multipart/form-data` ແລະປະກອບມີໄຟລ໌ຕົວມັນເອງພາຍໃຕ້ parameter `file`.
ການອັບໂຫລດທີ່ສໍາເລັດຈະສົ່ງຄືນການຕອບສະຫນອງ JSON ທີ່ມີ `document_id` ທີ່ເປັນເອກະລັກ, ເຊິ່ງທ່ານຈະໃຊ້ໃນຂັ້ນຕອນຕໍ່ໄປ.

ຂັ້ນຕອນທີ 2: ການເລີ່ມຕົ້ນການແປເປັນ ຫວຽດນາມ

ເມື່ອທ່ານມີ `document_id`, ທ່ານສາມາດເລີ່ມຕົ້ນຂະບວນການແປໄດ້.
ທ່ານຈະສົ່ງຄໍາຮ້ອງຂໍ `POST` ໄປຫາ endpoint `/v2/translate/document` ດ້ວຍ payload JSON.
payload ນີ້ຕ້ອງປະກອບມີ `document_id` ຈາກຂັ້ນຕອນກ່ອນຫນ້າ, `source_lang` ຖືກຕັ້ງເປັນ `es` ສໍາລັບ ແອັດສະປາຍ, ແລະ `target_lang` ຖືກຕັ້ງເປັນ `vi` ສໍາລັບ ຫວຽດນາມ.
ຫຼັງຈາກນັ້ນ, API ຈະສົ່ງຄືນ `translation_id`, ເຊິ່ງເຮັດຫນ້າທີ່ເປັນຕົວລະບຸທີ່ເປັນເອກະລັກສໍາລັບວຽກງານການແປສະເພາະນີ້.

ຂັ້ນຕອນທີ 3: ການກວດສອບສະຖານະການແປ

ການແປເອກະສານແມ່ນການດໍາເນີນງານທີ່ບໍ່ພ້ອມກັນ, ຊຶ່ງຫມາຍຄວາມວ່າມັນແລ່ນຢູ່ໃນພື້ນຫຼັງ.
ທ່ານຈະຕ້ອງກວດສອບສະຖານະຂອງວຽກງານເປັນໄລຍະຈົນກວ່າຈະສໍາເລັດ.
ອັນນີ້ແມ່ນບັນລຸໄດ້ໂດຍການເຮັດຄໍາຮ້ອງຂໍ `GET` ໄປຫາ endpoint `/v2/translate/document/status`, ລວມທັງ `translation_id` ເປັນ query parameter.
API ຈະຕອບສະຫນອງກັບສະຖານະປະຈຸບັນ, ເຊິ່ງສາມາດເປັນ `processing` (ກໍາລັງປະມວນຜົນ), `done` (ສໍາເລັດ), ຫຼື `error` (ຜິດພາດ).
ທ່ານຄວນສອບຖາມ endpoint ນີ້ໃນໄລຍະຫ່າງທີ່ສົມເຫດສົມຜົນຈົນກ່ວາສະຖານະປ່ຽນເປັນ `done`.

ຂັ້ນຕອນທີ 4: ການດາວໂຫລດ PDF ທີ່ແປແລ້ວ

ເມື່ອສະຖານະເປັນ `done`, PDF ຫວຽດນາມ ທີ່ແປແລ້ວສຸດທ້າຍແມ່ນພ້ອມໃຫ້ດາວໂຫລດ.
ທ່ານສາມາດດຶງເອົາໄຟລ໌ໄດ້ໂດຍການເຮັດຄໍາຮ້ອງຂໍ `GET` ໄປຫາ endpoint `/v2/translate/document/download`, ອີກເທື່ອຫນຶ່ງໂດຍໃຊ້ `translation_id` ເປັນ query parameter.
ການຕອບສະຫນອງຂອງ API ຈະເປັນຂໍ້ມູນຖານສອງຂອງໄຟລ໌ PDF ທີ່ຖືກແປ.
ລະຫັດແອັບພລິເຄຊັນຂອງທ່ານຄວນຈະຖືກກະກຽມເພື່ອຈັດການສາຍຖານສອງນີ້ແລະບັນທຶກມັນໄວ້ໃນໄຟລ໌ `.pdf` ໃຫມ່. ພະລັງງານທີ່ແທ້ຈິງຂອງ API ນີ້ແມ່ນຄວາມສາມາດໃນການປະມວນຜົນເອກະສານທີ່ສັບສົນໄດ້ຢ່າງຫນ້າເຊື່ອຖື. ສໍາລັບນັກພັດທະນາທີ່ຕ້ອງການການແກ້ໄຂເພື່ອ ແປເອກະສານໃນຂະນະທີ່ຮັກສາຮູບແບບແລະຕາຕະລາງ, Doctranslate API ສະຫນອງຂະບວນການເຮັດວຽກທີ່ອັດຕະໂນມັດຢ່າງເຕັມສ່ວນແລະມີປະສິດທິພາບສູງ.

ຕົວຢ່າງການເຊື່ອມໂຍງ Python

ນີ້ແມ່ນສະຄຣິບ Python ທີ່ສົມບູນແບບທີ່ສະແດງໃຫ້ເຫັນຂະບວນການສີ່ຂັ້ນຕອນທັງຫມົດ.
ຕົວຢ່າງນີ້ໃຊ້ຫ້ອງສະໝຸດ `requests` ເພື່ອຈັດການການສື່ສານ API ແລະ `time` ສໍາລັບການສອບຖາມສະຖານະ.
ໃຫ້ແນ່ໃຈວ່າປ່ຽນແທນ `’YOUR_API_KEY’` ດ້ວຍລະຫັດຕົວຈິງຂອງທ່ານ ແລະສະຫນອງເສັ້ນທາງທີ່ຖືກຕ້ອງໄປຫາໄຟລ໌ PDF ຕົ້ນສະບັບຂອງທ່ານ.

import requests
import time
import os

API_KEY = os.getenv('DOCTRANSLATE_API_KEY', 'YOUR_API_KEY')
API_URL = 'https://developer.doctranslate.io/v2'
FILE_PATH = 'path/to/your/document.pdf'

def translate_spanish_to_vietnamese_pdf(file_path):
    headers = {'Authorization': f'Bearer {API_KEY}'}

    # Step 1: Upload the document
    print("Step 1: Uploading document...")
    with open(file_path, 'rb') as f:
        files = {'file': (os.path.basename(file_path), f, 'application/pdf')}
        response = requests.post(f'{API_URL}/document/upload', headers=headers, files=files)

    if response.status_code != 200:
        print(f"Error uploading file: {response.text}")
        return

    document_id = response.json().get('document_id')
    print(f"Document uploaded successfully. Document ID: {document_id}")

    # Step 2: Initiate translation
    print("
Step 2: Initiating translation to Vietnamese...")
    payload = {
        'document_id': document_id,
        'source_lang': 'es',
        'target_lang': 'vi'
    }
    response = requests.post(f'{API_URL}/translate/document', headers=headers, json=payload)

    if response.status_code != 200:
        print(f"Error initiating translation: {response.text}")
        return

    translation_id = response.json().get('translation_id')
    print(f"Translation initiated. Translation ID: {translation_id}")

    # Step 3: Check translation status
    print("
Step 3: Checking translation status...")
    while True:
        status_response = requests.get(f'{API_URL}/translate/document/status?translation_id={translation_id}', headers=headers)
        status = status_response.json().get('status')
        print(f"Current status: {status}")
        if status == 'done':
            break
        elif status == 'error':
            print("Translation failed.")
            return
        time.sleep(5) # Poll every 5 seconds

    # Step 4: Download the translated document
    print("
Step 4: Downloading translated document...")
    download_response = requests.get(f'{API_URL}/translate/document/download?translation_id={translation_id}', headers=headers)

    if download_response.status_code == 200:
        translated_file_path = 'translated_document_vi.pdf'
        with open(translated_file_path, 'wb') as f:
            f.write(download_response.content)
        print(f"Translated document saved to {translated_file_path}")
    else:
        print(f"Error downloading file: {download_response.text}")

if __name__ == '__main__':
    if API_KEY == 'YOUR_API_KEY':
        print("Please set your DOCTRANSALTE_API_KEY.")
    elif not os.path.exists(FILE_PATH):
        print(f"File not found at: {FILE_PATH}")
    else:
        translate_spanish_to_vietnamese_pdf(FILE_PATH)

ຕົວຢ່າງການເຊື່ອມໂຍງ Node.js

ສໍາລັບນັກພັດທະນາ JavaScript, ນີ້ແມ່ນຕົວຢ່າງທີ່ທຽບເທົ່າໂດຍໃຊ້ Node.js ກັບ `axios` ແລະ `form-data`.
ສະຄຣິບນີ້ປະຕິບັດຕາມເຫດຜົນການສອບຖາມແບບບໍ່ພ້ອມກັນດຽວກັນເພື່ອຈັດການຂະບວນການແປຢ່າງມີປະສິດທິພາບ.
ຈື່ໄວ້ວ່າໃຫ້ຕັ້ງລະຫັດ API ແລະເສັ້ນທາງໄຟລ໌ຂອງທ່ານກ່ອນທີ່ຈະດໍາເນີນການສະຄຣິບ.

const axios = require('axios');
const FormData = require('form-data');
const fs = require('fs');
const path = require('path');

const API_KEY = process.env.DOCTRANSLATE_API_KEY || 'YOUR_API_KEY';
const API_URL = 'https://developer.doctranslate.io/v2';
const FILE_PATH = 'path/to/your/document.pdf';

const headers = {
    'Authorization': `Bearer ${API_KEY}`,
};

const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));

async function translatePdf() {
    if (API_KEY === 'YOUR_API_KEY') {
        console.error('Please set your DOCTRANSLATE_API_KEY.');
        return;
    }
    if (!fs.existsSync(FILE_PATH)) {
        console.error(`File not found at: ${FILE_PATH}`);
        return;
    }

    try {
        // Step 1: Upload the document
        console.log('Step 1: Uploading document...');
        const form = new FormData();
        form.append('file', fs.createReadStream(FILE_PATH));
        const uploadResponse = await axios.post(`${API_URL}/document/upload`, form, {
            headers: { ...headers, ...form.getHeaders() },
        });
        const { document_id } = uploadResponse.data;
        console.log(`Document uploaded successfully. Document ID: ${document_id}`);

        // Step 2: Initiate translation
        console.log('
Step 2: Initiating translation to Vietnamese...');
        const translatePayload = {
            document_id,
            source_lang: 'es',
            target_lang: 'vi',
        };
        const translateResponse = await axios.post(`${API_URL}/translate/document`, translatePayload, { headers });
        const { translation_id } = translateResponse.data;
        console.log(`Translation initiated. Translation ID: ${translation_id}`);

        // Step 3: Check translation status
        console.log('
Step 3: Checking translation status...');
        let status = '';
        while (status !== 'done') {
            const statusResponse = await axios.get(`${API_URL}/translate/document/status?translation_id=${translation_id}`, { headers });
            status = statusResponse.data.status;
            console.log(`Current status: ${status}`);
            if (status === 'error') {
                throw new Error('Translation failed.');
            }
            if (status !== 'done') {
                await sleep(5000); // Poll every 5 seconds
            }
        }

        // Step 4: Download the translated document
        console.log('
Step 4: Downloading translated document...');
        const downloadResponse = await axios.get(`${API_URL}/translate/document/download?translation_id=${translation_id}`, {
            headers,
            responseType: 'stream',
        });
        const translatedFilePath = 'translated_document_vi.pdf';
        const writer = fs.createWriteStream(translatedFilePath);
        downloadResponse.data.pipe(writer);

        return new Promise((resolve, reject) => {
            writer.on('finish', () => {
                console.log(`Translated document saved to ${translatedFilePath}`);
                resolve();
            });
            writer.on('error', reject);
        });

    } catch (error) {
        console.error('An error occurred:', error.response ? error.response.data : error.message);
    }
}

translatePdf();

ການພິຈາລະນາທີ່ສໍາຄັນສໍາລັບລັກສະນະສະເພາະຂອງພາສາຫວຽດນາມ

ການແປເນື້ອໃນເປັນ ຫວຽດນາມ ນໍາສະເຫນີສິ່ງທ້າທາຍທາງດ້ານພາສາສາດແລະເຕັກນິກທີ່ເປັນເອກະລັກທີ່ຕ້ອງໄດ້ຮັບການຈັດການຢ່າງຖືກຕ້ອງເພື່ອໃຫ້ໄດ້ຜົນທີ່ມີຄຸນນະພາບສູງ.
Doctranslate API ຖືກອອກແບບມາໂດຍສະເພາະເພື່ອຈັດການຄວາມສັບສົນເຫຼົ່ານີ້, ຮັບປະກັນວ່າຜົນຜະລິດສຸດທ້າຍມີຄວາມຖືກຕ້ອງແລະເບິ່ງເຫັນໄດ້ຖືກຕ້ອງ.
ນັກພັດທະນາຄວນຈະຮູ້ເຖິງບັນຫາເຫຼົ່ານີ້ເພື່ອຊື່ນຊົມກັບພະລັງງານພື້ນຖານຂອງເຄື່ອງມືການແປ.

ການຈັດການເຄື່ອງໝາຍສຽງແລະໂຕນ

ຫວຽດນາມ ເປັນພາສາໂຕນທີ່ໃຊ້ລະບົບເຄື່ອງໝາຍສຽງທີ່ຊັບຊ້ອນເພື່ອໝາຍເຖິງທັງສຽງສະຫຼະແລະໂຕນ.
ຕົວອັກສອນດຽວສາມາດມີຫຼາຍເຄື່ອງໝາຍ, ເຊັ່ນ: ໃນຕົວອັກສອນ ‘ệ’ ຫຼື ‘ậ’.
ລະບົບການແປມາດຕະຖານແລະເຄື່ອງມືສະແດງຕົວອັກສອນຈໍານວນຫຼາຍພະຍາຍາມປະມວນຜົນຕົວອັກສອນປະສົມເຫຼົ່ານີ້ຢ່າງຖືກຕ້ອງ.
ເຄື່ອງມືການແປຂັ້ນສູງຂອງ Doctranslate API ແລະເຕັກໂນໂລຍີການສ້າງເອກະສານຄືນໃໝ່ແມ່ນໄດ້ຖືກປັບປຸງຢ່າງລະອຽດເພື່ອຈັດການກໍລະນີເຫຼົ່ານີ້, ຮັບປະກັນວ່າເຄື່ອງໝາຍສຽງທັງໝົດຖືກຮັກສາໄວ້ແລະສະແດງໄດ້ຢ່າງຖືກຕ້ອງໃນ PDF ສຸດທ້າຍ.

ການຮັບປະກັນການເຂົ້າລະຫັດ UTF-8

ການເຂົ້າລະຫັດຕົວອັກສອນທີ່ເໝາະສົມແມ່ນບໍ່ສາມາດຕໍ່ລອງໄດ້ສໍາລັບແອັບພລິເຄຊັນຫຼາຍພາສາ, ໂດຍສະເພາະທີ່ກ່ຽວຂ້ອງກັບ ຫວຽດນາມ.
UTF-8 ແມ່ນມາດຕະຖານທົ່ວໄປທີ່ສາມາດສະແດງທຸກຕົວອັກສອນໃນຕົວອັກສອນ ຫວຽດນາມ ໄດ້ຢ່າງຖືກຕ້ອງ.
Doctranslate API ດໍາເນີນການທັງຫມົດພາຍໃນສະພາບແວດລ້ອມ UTF-8, ຕັ້ງແຕ່ການສະກັດຂໍ້ຄວາມໄປຫາການແປແລະການສ້າງເອກະສານສຸດທ້າຍ.
ນີ້ລົບລ້າງຄວາມສ່ຽງຂອງ `mojibake` ຫຼືຂໍ້ຄວາມທີ່ເສຍຫາຍ, ໃຫ້ນັກພັດທະນາມີຄວາມສະຫງົບໃຈວ່າຂໍ້ມູນຂໍ້ຄວາມທັງຫມົດຖືກຈັດການດ້ວຍຄວາມຊື່ສັດຕະຫຼອດຂະບວນການເຮັດວຽກ.

ຮູບສັນຍາລັກຕົວອັກສອນ (Font Glyphs) ແລະການສະແດງຜົນ

ບັນຫາທົ່ວໄປເມື່ອສະແດງຂໍ້ຄວາມທີ່ແປແລ້ວແມ່ນການຂາດຮູບສັນຍາລັກຕົວອັກສອນ (font glyphs), ເຊິ່ງປາກົດເປັນກ່ອງເປົ່າ (ມັກຈະຖືກເອີ້ນວ່າ ‘tofu’).
ອັນນີ້ເກີດຂຶ້ນເມື່ອຕົວອັກສອນທີ່ຝັງຢູ່ໃນ PDF ແອັດສະປາຍ ຕົ້ນສະບັບບໍ່ມີຕົວອັກສອນທີ່ຈໍາເປັນສໍາລັບ ຫວຽດນາມ.
Doctranslate API ແກ້ໄຂບັນຫານີ້ຢ່າງສະຫລາດໂດຍການດໍາເນີນການທົດແທນຕົວອັກສອນອັດສະລິຍະ.
ມັນຈະປ່ຽນແທນ ຫຼື ຝັງຕົວອັກສອນທີ່ເຂົ້າກັນໄດ້ໂດຍອັດຕະໂນມັດເຊິ່ງລວມມີຮູບສັນຍາລັກ ຫວຽດນາມ ທີ່ຕ້ອງການ, ຮັບປະກັນວ່າເອກະສານທີ່ແປແລ້ວແມ່ນສາມາດອ່ານໄດ້ຢ່າງສົມບູນແລະຮັກສາຮູບລັກສະນະທີ່ເປັນມືອາຊີບ.

ບົດສະຫຼຸບ ແລະຂັ້ນຕອນຕໍ່ໄປ

ການເຊື່ອມໂຍງ API ສໍາລັບການແປ PDF ຈາກ ແອັດສະປາຍ ເປັນ ຫວຽດນາມ ສາມາດປັບປຸງປະສິດທິພາບຢ່າງຫຼວງຫຼາຍແລະເປີດຄວາມເປັນໄປໄດ້ໃຫມ່ສໍາລັບການສື່ສານຂ້າມຕະຫຼາດ.
Doctranslate API ສະຫນອງການແກ້ໄຂທີ່ມີປະສິດທິພາບ, ເຊື່ອຖືໄດ້, ແລະເປັນມິດກັບນັກພັດທະນາເຊິ່ງຈັດການຄວາມສັບສົນຂອງການແປ PDF ຢ່າງຊໍານານ.
ໂດຍການຮັກສາຮູບແບບເອກະສານແລະການຈັດການຄວາມລະອຽດອ່ອນຂອງພາສາ ຫວຽດນາມ, ມັນອະນຸຍາດໃຫ້ທ່ານສາມາດເຮັດໃຫ້ຂະບວນການທີ່ເຄີຍເປັນຄູ່ມືແລະມີຄວາມຜິດພາດອັດຕະໂນມັດ.

ຄູ່ມືນີ້ໄດ້ພາທ່ານຜ່ານການເຊື່ອມໂຍງທີ່ສົມບູນ, ຕັ້ງແຕ່ການຕັ້ງຄ່າຈົນເຖິງການດາວໂຫລດໄຟລ໌ທີ່ແປແລ້ວສຸດທ້າຍ.
ຂະບວນການສີ່ຂັ້ນຕອນທີ່ງ່າຍດາຍ, ບໍ່ພ້ອມກັນ—ອັບໂຫລດ, ແປ, ກວດສອບສະຖານະ, ແລະດາວໂຫລດ—ສາມາດຖືກປະຕິບັດໄດ້ຢ່າງງ່າຍດາຍໂດຍໃຊ້ຫ້ອງສະໝຸດມາດຕະຖານໃນພາສາການຂຽນໂປຣແກຣມໃດໆ.
ນີ້ເຮັດໃຫ້ນັກພັດທະນາມີອໍານາດໃນການສ້າງຂະບວນການແປແບບອັດຕະໂນມັດທີ່ຊັບຊ້ອນໂດຍກົງໃນແອັບພລິເຄຊັນຂອງພວກເຂົາ.
ພວກເຮົາຊຸກຍູ້ໃຫ້ທ່ານຄົ້ນຫາຄວາມສາມາດເຕັມຮູບແບບແລະເລີ່ມຕົ້ນການສ້າງໃນມື້ນີ້.

ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບຄຸນສົມບັດຂັ້ນສູງ, ເຊັ່ນ: custom glossaries, tone control, ຫຼືການແປຮູບແບບເອກະສານອື່ນໆ, ກະລຸນາອ້າງອີງເຖິງເອກະສານທາງການຂອງ Doctranslate API.
ເອກະສານດັ່ງກ່າວສະຫນອງຄໍາອະທິບາຍຢ່າງເລິກເຊິ່ງກ່ຽວກັບ endpoints ແລະ parameters ທີ່ມີຢູ່ທັງຫມົດ.
ເລີ່ມຕົ້ນການເດີນທາງການເຊື່ອມໂຍງຂອງທ່ານດຽວນີ້ເພື່ອປົດລັອກການແປເອກະສານທີ່ບໍ່ມີຮອຍຕໍ່ແລະມີຄວາມຖືກຕ້ອງສູງ.

Doctranslate.io - ການແປທັນທີ, ຖືກຕ້ອງໃນຫຼາຍພາສາ

Để lại bình luận

chat