2012-11-11 4 views
1

Google Apps Script를 사용하여 pdf 파일 내의 텍스트를 바꿀 수 있습니까?pdf 파일 내의 텍스트를 바꾸는 방법은 무엇입니까?

대체에 성공하지 못하면 다음 코드를 시도하고 있습니다. 이해할 수없는 방식으로 문자열이 인코딩 된 것처럼 보입니다.

var pdfFile = DocsList.getFileById("pdf-doc-id"); 
    var asBlob = pdfFile.getBlob(); 
    var asString = asBlob.getDataAsString(); 
    var s2s = "old string"; 
    var s2r = "new string"; 
    var repString = asString.replace(s2s, s2r); 
    var repBlob = Utilities.newBlob(repString).setContentType("application/pdf").setName("Testing"); 
    DocsList.createFile(repBlob); 

EDIT1 : 나는 다시

빈 PDF 어떤 아이디어를 가지고?

감사

+0

코드의 마지막 줄이 잘못되었습니다. 'DocsList.createFile (repBlob);이 아니어야합니까?'? 그렇지 않으면 참으로 원래 파일입니다 ;-) –

+0

예, 정말로 엉망입니다. 나는 코드를 업데이트했다. 대신 빈 Pdf를 얻고있다. 나는 할 수 있다고 생각하지만 블롭으로 잃어버린다 –

+0

itis doable이 확실하지 않다 ... 나는 시도했지만 문자열을 pdf로 변환 할 때 실패했다. 나는 누군가가 해결책을 가지고 있는지, 또는 단순히 pdf를 이런 식으로 처리하는 것이 불가능한지를보기에 매우 궁금하다. –

답변

1

기능 getDataAsString() 대신 파일의 바이너리 컨텐츠의 텍스트 표현을 PDF 파일의 텍스트 내용을 반환하지만,하지 않습니다. 이 기능은 텍스트가없는 파일 (이미지와 같은 파일 포함)에서도 작동합니다.

안타깝게도 Apps Script로 목표를 완전히 달성 할 수 있다고 생각하지 않습니다. 드라이브 UI를 사용하여 Google 문서로 PDF를 가져올 수있는 경우 Apps Script의 DocumentApp를 사용하여 문서를 수정하고 PDF로 내보낼 수 있습니다.

+0

감사합니다. Eric, 항상 잘 알고 있습니다. –

관련 문제