GAS 시작: 문서를 폴더에 넣고 PDF로 변환
16018 단어 CSSHTMLGASGoogle Apps Scripttech
만든 물건
이번에는 GAS를 사용하여 문서를 폴더에 넣고 버튼을 눌러 PDF로 변환하는 작은 웹 애플리케이션을 만들었다.
※ 또한, 이 프로젝트에서는 기본적인 자바스크립트 지식을 습득해야 합니다.
개시하다
Code.gs
이 있습니다..gs
는 Gscript·Google AppScript의 약자로, 이 파일에는 myFunction
라는 함수가 있어야 한다.index.html
.Code.gs
파일에 입력해야 한다.function doGet(){return HtmlService.createHtmlOutputFromFile("index")}
index
를 알면 문제없습니다.폴더에서 문서 추출
myFunction()
함수에서 사용할 세 개의 다른 폴더를 저장하는 데 사용할 폴더 ID 변수를 만들 수 있습니다.폴더 역할
folderId
moveTofolderId
doneFolderId
function doGet(){
var folderId = " ";
var moveToFolderId = " ";
var doneFolderId = " ";
}
이 대상의 경로는 DriveApp
인데 이 방법을 이용하여 수신 폴더 ID를 매개 변수getFolderById()
로 하고 ID를 통해 폴더에 접근할 수 있다.모든 문서
folderId
를 포함하는 폴더가 존재하기 때문에 getFiles()
방법으로 폴더의 모든 파일을 가져올 수 있습니다.function myFunction() {
var folderId = " ";
var moveToFolderId = " ";
var doneFolderId = " ";
var allFiles = DriveApp.getFolderById(folderId).getFiles();
var getMoveToFolder = DriveApp.getFolderById(moveToFolderId);
var getDoneFolder = DriveApp.getFolderById(doneFolderId);
}
폴더의 파일로 순환
while()
순환으로 각 파일을 반복 처리할 수 있다.hasNext()
방법의 조건을 취한다.이렇게 하면 폴더에 아무것도 남지 않을 때까지 순환이 계속됩니다.변수doc
를 할당하여 문서를 개별적으로 저장할 수도 있습니다.moveTo()
방법으로 문서를 특정 폴더로 이동할 수 있다.while(filesN.hasNext()){
var doc = filesN.next();
doc.moveTo(doneFolder);
var docName = doc.getName();
}
getName()
도 파일 이름을 변수 이름docName
에 저장하는 방법을 사용할 수 있다.각 파일을 PDF화합니다.
getAs()
Google 문서 파일을 원하는 대로 저장할 수 있습니다.이 경우 PDF로 저장되므로 매개변수에 'application.pdf'
를 입력합니다.setName()
방법을 이용하여 파일 이름을 ドキュメント名.pdf
로 설정할 수 있다.docBlob = doc.getAs('application/pdf');
docBlob.setName(docName + ".pdf");
var file = downloadedFolder.createFile(docBlob);
Logger.log(file.getUrl());
createFile()
방법을 사용하여 특정 폴더에서 새 PDF 파일을 만들 수 있습니다.※ 필요에 따라
getUrl()
사용법으로 작성된 파일의 위치Logger.log
(자바스크립트로console.log()
도 수행할 수 있습니다.UI 만들기
Code.gs
에서 함수를 실행하는 함수 myFunction()
를 만들기 위해 단추의 onclick 이벤트를 설정합니다.<html>
<head>
<base target="_top">
</head>
<script>
function startConversion(){
google.script.run.myFunction();
}
</script>
<body>
<button onclick="startConversion();">Convert Doc to PDF</button>
</body>
</html>
withSuccessHandler()
방법을 통해 조금이나마 공을 들일 수 있다.withSuccessHandler()
방법은 Code.gs
가 정상적으로 실행myFunction
된 후에 매개 변수를 통해 새로운 다른 함수를 실행할 수 있는 함수이다.<!DOCTYPE html>
<html>
<head>
<base target="_top">
</head>
<script>
function startConversion(){
google.script.run.withSuccessHandler(createUpdate).myFunction();
}
function createUpdate(){
alert("Its Done!")
}
</script>
<body>
<button onclick="startConversion();">Convert Doc to PDF</button>
</body>
</html>
축하합니다!이렇게 하면 작업 절차가 자동화된다🥳물론 읽기 애니메이션을 DOM에 추가하는 등
alert()
방법보다 창의적일 수도 있다.자신의 GitHub Gist에서 더 좋은 버전과 완전한 코드를 볼 수 있다.
Reference
이 문제에 관하여(GAS 시작: 문서를 폴더에 넣고 PDF로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/501a/articles/194f8b77492bf7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)