번역 프로그램9 PDF 파일 번역 프로그램 - PDF 파일 번역 (대량) 아버지의 논문 자료들을 번역하기 위해 프로젝트를 시작한지도 벌써 3주가 넘었다.매일 낮에는 출근해야 해서 시간을 많이 투자하진 못했지만, 틈틈히 개발했고 실질적으로 4~5일만에 완성했다.번역 퀄리티는 아래 나온 예시를 참고하면 되며 구글 번역기에서 지원하는 언어들은 모두 지원한다. <h2 style="background-color:.. 2024. 4. 19. PDF 파일 번역 프로그램 - PDF파일 병합 및 다운로드 파일 병합 및 다운로드 기능 개발 시작! Firebase Storage 에서 번역이 완료된 파일들을 다운 받고 병합을 한 뒤 다운받는다. const downloadPDF = async (pageCount, storage) => { try { const mergedPDFDocument = await PDFDocument.create(); for (let i = 0; i < pageCount / 20; i += 1) { var storageRef = ref(storage, `gs://버킷명/번역완료된파일명`; storageRef = ref(storage, storageRef); const url = await getDownloadURL(storageRef); const arrayBuffer = await f.. 2024. 4. 19. PDF 파일 번역 프로그램 - Cloud Translation API Cloud Translation API 개발 시작!기존에 테스트 했을 때는 터미널에서 cURL 이나 Powershell 을 통해서 요청을 보냈는데자바스크립트에서 같은 내용으로 요청을 보내면 Oath2 인증오류가 발생했다.api key 나 oath2 사용자 계정을 만들어서 같이 .. 2024. 4. 18. PDF 파일 번역 프로그램 - Firebase 파일 업로드 Firebase 업로드 기능 개발 시작! 분할한 파일을 Cloud Storage 에 업로드 해야 Cloud Translation API 를 사용할 수 있다. Cloud Storage 에 직접 업로드를 시도해봤는데 보안 문제 때문에 안되는 것이 많았다. 그래서 버킷만 Cloud Storage에 만들어두고 업로드와 다운로드는 Firebase 통해서 하기로 결정했다. Firebase 에서 Cloud Storage의 버킷에 엑세스 할 수 있었다. 업로드가 모두 완료되고 나서 다음 작업을 할 수 있도록 Promise 도 걸어놨다. const uploadPDF = async (splitPDFs, storage) => { try { // 분할된 PDF 업로드 const uploadPromises = splitPDFs.. 2024. 4. 18. PDF 파일 번역 프로그램 - PDF 파일 분할(javascript) 파일 분할 기능 개발 시작! 일단 여러 블로그와 스택 오버플로우를 검색해봐도 자세한 내용은 찾기 어려웠다. 그래서 나의 오랜만에 나의 가장 친한 친구 ChatGPT 를 켰다. 자바스크립트로 PDF 파일 분할 코드를 알려달라고 해도 정확한 코드가 한번에 안 나와 예시 코드와 여러가지 질문들을 이어가며 수정에 수정을 거쳐 마침내 분할 코드를 완성할 수 있었다. 아래에 예시 코드는 PDF 파일을 20페이지 단위로 분할하는 코드이다. import { PDFDocument } from 'pdf-lib'; const splitPDFs = []; const pdfBytes = await file.arrayBuffer(); // file은 브라우저 상에 업로드 한것을 가져왔다 const pdfDoc = await PD.. 2024. 4. 18. PDF 파일 번역 프로그램 - 브라우저 파일 업로드 브라우저에 파일 업로드 기능 개발 시작! 사용자가 편하게 파일을 번역할 수 있으려면 접근성이 좋아야 한다고 생각했다 그래서 가장 접근성이 좋은건 웹이라고 판단했다. 이참에 한번도 안해본 React 와 Node.js 를 다뤄보기로 결정했다. 하지만 단기간에 프로젝트를 완성해 30개가 넘는 책을 번역해야 했기에 차근차근 React 공부를 할 여유는 없었다. 그래서 직접 붙딫혀보면서 배우기로 했다. (Flutter 처음 배울때도 이런식으로 했었다. 처음엔 힘들어도 한번 해보고 공부하면 이해가 더 쏙쏙 되는 장점이 있다.) 먼저 파일업로드 예시 코드를 검색했다. 여러 블로그들을 돌며 내가 원하는 기능이 구현된 코드들을 둘러봤고 내가 원하는 기능에 가장 가깝게 구현한 코드를 CTRL + C 했다 ㅎㅎㅎ 거기서 내.. 2024. 4. 18. PDF 파일 번역 프로그램 - 계획 수립 개발 해야 할 것들 - PDF 파일 분할 기능 - 분할한 파일들 Cloud Storage에 업로드 - 업로드 한 파일들 번역 API 호출 - 번역 완료된 파일들 Cloud Storage에서 다운 - 다운 받은 파일들 하나의 파일로 합치기 - 위의 기능들을 넣은 웹사이트 제작 고려해야 할 것들 - 웹사이트로 기능을 제공할 생각이니 javascript 로 개발 고려 - 오남용 방지 (아직 계획 X) - 예상 비용 책정 Flow Chart 1차 목표 웹사이트 개발이 필요하니 Node.js 간단하게 학습 2024. 4. 1. PDF 파일 번역 프로그램 - 자료 조사 및 API 테스트 자료 조사 직접 만들기로 결정했으니 어떻게 만들지를 조사했다. 예전에 GCP 를 한참 많이 사용할 때 회사의 요청으로 번역 api 도 조사했었다. 그 때 봐두었던 문서 번역 API 가 생각이 났다. 그래서 문서 번역 API를 우선으로 조사했다. 조사 결과 PDF나 DOC 파일을 번역해주는 API를 GCP가 이미 제공하고 있었다. https://cloud.google.com/translate/docs/advanced/translate-documents?hl=ko 문서 번역 | Cloud Translation | Google Cloud 의견 보내기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 문서 번역 Cloud Translation - Advanced는 PDF 및 DOC.. 2024. 4. 1. PDF 파일 번역 프로그램 - 개발 계기 개발하게 된 계기 아버지께서 최근 석사 과정을 밟고 계신데 아랍어로 된 책을 해석해야 해서 번역기를 알아보고 계셨다 번역기를 쿠팡에서 구매하시는 모습을 보며 전에도 번역기 관련해서 물어보셨던것이 생각나 왜 필요로 하시는지 여쭤봤다. 아랍어로 된 글을 번역하기 위해 구글 번역기의 스캔번역 기능을 사용하셨는데 200페이지가 넘는 책을 일일이 핸드폰으로 스캔하는 것과 구글 번역의 퀄리티가 문제라고 하셨다. 그래서 인터넷을 검색해보니 이미 해당 기능을 제공하는 사이트가 몇 있었다 그래서 테스트해보니 파일 크기 제한이 10mb로 걸려있었다. 번역하려는 책들은 기본으로 N십 mb 정도 되기 때문에 한번에 번역할 수 없었다. PDF 파일을 분할해서 번역해보려고 했지만 1~2mb 정도의 파일은 번역이 잘 되었지만 9m.. 2024. 3. 23. 이전 1 다음