Papago Doc Translation 개요
- 인쇄
- PDF
Papago Doc Translation 개요
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
개요
- 파일 안에 소스 언어로 작성된 텍스트를 타겟 언어로 번역하는 API
- 비동기 형식의 API로 번역 요청(translate)/상태 확인(status)/다운로드(download) 3개의 API로 구성
- 번역 지원 언어쌍: 한국어↔영어, 한국어↔일본어, 한국어↔중국어(간체), 영어↔일본어
- 문서 1개 기준- 파일 용량 100 MB, 30만 글자 수 제한
- 지원 파일 포맷: MS Office (docx, pptx, xlsx), PDF, 한글(HWP)
- HWP의 경우 한컴오피스2002부터 사용되는 HWP 5.0 이상의 버전만 지원
사용 시 유의사항
- 이미지로 된 텍스트는 번역되지 않습니다.
- 텍스트에 적용된 스타일은 일부 일치하지 않거나 누락될 수 있습니다.
- 텍스트에 적용된 링크 또는 액션은 일부 동작하지 않거나 누락될 수 있습니다.
- 암호가 설정된 파일은 지원하지 않습니다.
- 읽기 전용 파일은 지원하지 않습니다.
- HWP의 경우
- 한컴오피스2002부터 사용되는 HWP 5.0 이상의 버전을 지원합니다.
- 배포용 파일은 지원하지 않습니다.
- 한컴오피스에서 생성되지 않은 HWP 파일은 지원하지 않습니다. (ex. 확장자만 변경한 파일)
- 번역으로 문장 길이가 길어지면서 텍스트 겹침 현상이 발생할 수 있습니다. 텍스트 영역을 늘려주면 정상적으로 확인 가능합니다.
- PDF의 경우
- PDF 파일의 레이아웃, 문단 간격, 디자인 서식, 사용자 지정 글꼴 및 이미지 크기 등이 품질에 영향을 미칠 수 있습니다. 가능하다면 시각적 요소가 적게 포함된 문서 사용을 권장합니다.
- 최적의 결과를 얻을 수 있도록 기본 PDF 파일 사용을 권장합니다. 스캔한 문서를 번역할 경우 스캔 품질이 번역 결과에 영향을 미칠 수 있으며 원본 문서의 방향대로 스캔이 되어야 합니다.
- 번역 파일의 용량이 원본 문서 대비 커질 수 있습니다.
- PDF 파일에 비해 docx 및 pptx 파일의 문서 레이아웃 및 스타일 유지가 더 잘 됩니다. 더 나은 결과를 위해 변환 전 파일 형식으로 사용하는 것을 권장합니다.
- 2개 이상의 언어가 포함된 문서는 출발 언어 설정에 따라 번역 결과가 달라질 수 있습니다.
공통 설정
클라이언트 아이디는 NAVER Cloud Platform 콘솔에서 애플리케이션을 등록해 발급받습니다.
콘솔의 AI Services > Papago Translation > APIs에서 애플리케이션을 등록해 주십시오.
AI Services > Papago Translation > APIs에서 등록한 애플리케이션을 선택해 Client ID와 Client Secret 값을 확인해 주십시오.
AI Services > Papago Translation > APIs의 수정 화면에서 Papago Doc Translation이 선택되어 있는지 확인합니다. 선택되어 있지 않으면 429 (Quota Exceed)가 발생하니 주의해 주십시오.
오류 코드
{
"error": {
"errorCode": "300",
"message": "Not Found Exception"
}
}
공통 오류
HttpStatusCode | ErrorCode | ErrorMessage | Description |
---|---|---|---|
400 | 100 | Bad Request Exception | protocol(https), endocing(UTF-8) 등 request 오류 |
401 | 200 | Authentication Failed | 인증 실패 |
401 | 210 | Permission Denied | 권한 없음 |
404 | 300 | Not Found Exception | 권한 없음 |
429 | 400 | Quota Exceeded | Quota 초과 |
429 | 410 | Throttle Limited | Rate 초과 |
429 | 420 | Rate Limited | Rate 초과 |
413 | 430 | Request Entity Too Large | content-length 초과 (100 MB) |
503 | 500 | Endpoint Error | 엔드포인트 연결 오류 |
504 | 510 | Endpoint Timeout | 엔드포인트 연결 시간 초과 |
500 | 900 | Unexpected Error | 예외 처리가 안 된 오류 |
{
"error": {
"errorCode": "00001",
"message": "Request is invalid."
}
}
API 오류
HttpStatusCode | ErrorCode | ErrorMessage | Description |
---|---|---|---|
500 | 00000 | API call failed | 시스템 내부 에러 |
400 | 00001 | Request is invalid | 잘못된 파라미터 존재 |
- Papago Doc Translation API는 한글과컴퓨터 HWP 공개 문서를 참고하여 개발하였습니다.
Python 기반 예제 코드
Python example (Status API)
import requests
headers = {
"X-NCP-APIGW-API-KEY-ID": 유저_클라이언트_아이디,
"X-NCP-APIGW-API-KEY": 유저_클라이언트_시크릿
}
url = "https://naveropenapi.apigw-pub.fin-ntruss.com/doc-trans/v1/status?requestId=" + RequestId
res = requests.get(url, headers=headers)
print(res.text)
Python example (Translate API)
import requests
from requests_toolbelt import MultipartEncoder
import uuid
data = {
'source': 'ko',
'target': 'en',
'file': ('a.docx', open('a.docx', 'rb'), 'application/octet-stream', {'Content-Transfer-Encoding': 'binary'})
}
m = MultipartEncoder(data, boundary=uuid.uuid4())
headers = {
"Content-Type": m.content_type,
"X-NCP-APIGW-API-KEY-ID": 유저_클라이언트_아이디,
"X-NCP-APIGW-API-KEY": 유저_클라이언트_시크릿
}
url = "https://naveropenapi.apigw-pub.fin-ntruss.com/doc-trans/v1/translate"
res = requests.post(url, headers=headers, data=m.to_string())
print(res.text)
Python example (Download API)
import urllib.request
url = "https://naveropenapi.apigw-pub.fin-ntruss.com/doc-trans/v1/download?requestId=" + RequestId
opener = urllib.request.build_opener()
opener.addheaders = [('X-NCP-APIGW-API-KEY-ID', 유저_클라이언트_아이디), ('X-NCP-APIGW-API-KEY', 유저_클라이언트_시크릿)]
urllib.request.install_opener(opener)
urllib.request.urlretrieve(url, "b.docx")
이 문서가 도움이 되었습니까?