Node.js에서 REST API를 사용하여 Word 문서 편집

클라우드에서 프로그래밍 방식으로 Word 문서를 쉽게 편집할 수 있습니다. 문서의 내용을 추가, 편집하거나 Node.js 애플리케이션에서 프로그래밍 방식으로 Word 문서의 텍스트 서식을 적용할 수 있습니다. 이 기사에서는 Node.js에서 REST API를 사용하여 Word 문서를 편집하는 방법에 중점을 둘 것입니다.

이 문서에서는 다음 항목을 다룹니다.

문서 편집기 REST API 및 Node.js SDK

DOCX 파일을 편집하기 위해 GroupDocs.Editor Cloud의 Node.js SDK API를 사용할 것입니다. Word, Excel 스프레드시트, PowerPoint, TXT, HTML, XML과 같은 지원되는 형식의 문서를 프로그래밍 방식으로 편집할 수 있습니다. API를 사용하면 편집을 위해 문서를 HTML로 변환하고 문서를 편집한 후에도 동일한 모양을 유지하면서 원래 형식으로 다시 변환할 수 있습니다. 또한 Cloud API용 문서 편집기 제품군으로 .NET, Java, PHP, Ruby, Android 및 Python SDK를 제공합니다.

콘솔에서 다음 명령을 사용하여 GroupDocs.Editor Cloud를 Node.js 애플리케이션에 설치할 수 있습니다.

npm install groupdocs-editor-cloud

언급된 단계를 따르기 전에 대시보드에서 클라이언트 ID와 비밀을 얻으십시오. ID와 시크릿이 있으면 아래와 같이 코드를 추가합니다.

global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";

const configuration = new groupdocs_editor_cloud.Configuration(clientId, clientSecret);
configuration.apiBaseUrl = "https://api.groupdocs.cloud";

Node.js에서 REST API를 사용하여 Word 문서 편집

아래에 언급된 간단한 단계에 따라 Word 문서를 편집할 수 있습니다.

  1. 업로드 Word 파일을 클라우드에
  2. 편집 Node.js를 사용하는 Word 문서
  3. 다운로드 업데이트된 파일

문서 업로드

먼저 아래 제공된 코드 예제를 사용하여 Word 문서(DOCX)를 클라우드에 업로드합니다.

// FileApi 구성
let fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);
let resourcesFolder = 'C:\\Files\\sample.docx';

fs.readFile(resourcesFolder, (err, fileStream) => {
  let request = new groupdocs_editor_cloud.UploadFileRequest("sample.docx", fileStream, myStorage);
  fileApi.uploadFile(request);
});

결과적으로 업로드된 DOCX 파일은 클라우드 대시보드의 파일 섹션에서 사용할 수 있습니다.

Node.js를 사용하여 Word 문서 편집

프로그래밍 방식으로 Word 문서를 편집하려면 아래에 언급된 단계를 따르십시오.

  • FileAPIEditAPI의 인스턴스 생성
  • FileInfo에 입력 파일 경로를 제공하십시오.
  • WordProcessingLoadOptions 만들기
  • LoadOptions로 LoadRequest 생성
  • EditAPI의 load() 메서드로 파일 불러오기
  • 로드된 파일로 DownloadFileRequest 생성
  • FileAPI의 downloadFile() 메서드를 사용하여 HTML 문서 다운로드
  • 다운로드한 HTML 문서 편집
  • UploadFileRequest 만들기
  • FileAPI의 uploadFile() 메서드를 사용하여 HTML을 다시 업로드
  • DOCX에 저장할 WordProcessingSaveOptions 제공
  • SaveOptions로 SaveRequest 만들기
  • Edit API의 save() 메서드를 사용하여 HTML을 다시 DOCX에 저장

다음 코드 스니펫은 Node.js에서 REST API를 사용하여 Word 문서를 편집하는 방법을 보여줍니다.

// API 초기화
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// 입력 파일      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// 로드 옵션 정의
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// 로드 요청 생성
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// HTML 문서 다운로드
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// 뭔가 편집...
htmlString = htmlString.replace("Title of the document", "Welcome");
htmlString = htmlString.replace("Subtitle #1", "Hello world");

// html을 저장소에 다시 업로드
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html을 docx에 다시 저장
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// 저장 요청 생성
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js에서 REST API를 사용하여 Word 문서 편집

Node.js에서 REST API를 사용하여 Word 문서 편집

업데이트된 파일 다운로드

위의 코드 샘플은 편집된 Word 문서(DOCX)를 클라우드에 저장합니다. 다음 코드 샘플을 사용하여 다운로드할 수 있습니다.

// 초기화 API
var fileApi = groupdocs_editor_cloud.FileApi.fromConfig(configuration);

// 파일 다운로드 요청 생성
let request = new groupdocs_editor_cloud.DownloadFileRequest("output/edited.docx", myStorage);

// 파일 다운로드
let response = await fileApi.downloadFile(request);

// 작업 디렉토리에 이미지 파일 저장
fs.writeFile("C:\\Files\\edited.docx", response, "binary", function (err) { });

Node.js를 사용하여 Word 문서에 테이블 추가

아래 언급된 단계에 따라 프로그래밍 방식으로 Word 문서에 테이블을 추가할 수 있습니다.

  • FileAPIEditAPI의 인스턴스 생성
  • FileInfo에 입력 파일 경로를 제공하십시오.
  • WordProcessingLoadOptions 만들기
  • LoadOptions로 LoadRequest 생성
  • EditAPI의 load() 메서드로 파일 로드
  • 로드된 파일로 DownloadFileRequest 생성
  • FileAPI의 downloadFile() 메서드를 사용하여 HTML 문서 다운로드
  • 다운로드한 HTML 문서 편집 and add a table
  • UploadFileRequest 만들기
  • FileAPI의 uploadFile() 메서드를 사용하여 HTML을 다시 업로드합니다.
  • DOCX에 저장할 WordProcessingSaveOptions 제공
  • SaveOptions로 SaveRequest 만들기
  • EditAPI의 save() 메서드를 사용하여 HTML을 DOCX에 다시 저장

다음 코드 스니펫은 Node.js에서 REST API를 사용하여 Word 문서에 테이블을 추가하는 방법을 보여줍니다.

// API 초기화
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// 입력 파일      
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// 로드 옵션 정의
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// 로드 요청 생성
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// HTML 문서 다운로드
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// 테이블 추가
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/><table style=\"width: 100%;background-color: #dddddd;\">"
		+ "<caption style=\"font-weight:bold;\"> Persons List</caption>"
		+ "<tr><th>First Name</th><th>Last Name</th><th>Age</th></tr>"
		+ "<tr><td>Jill</td><td>Smith</td><td>50</td></tr>"
		+ "<tr><td>Eve</td><td>Jackson</td><td>94</td></tr>"
		+ "</table>");

// html을 저장소에 다시 업로드
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html을 docx에 다시 저장
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// 저장 요청 생성
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js를 사용하여 Word 문서에 테이블 추가

Node.js를 사용하여 Word 문서에 테이블 추가

Node.js를 사용하여 Word 문서에 이미지 삽입

아래 언급된 단계에 따라 프로그래밍 방식으로 Word 문서에 이미지를 삽입할 수 있습니다.

  • FileAPIEditAPI의 인스턴스 생성
  • FileInfo에 입력 파일 경로를 제공하십시오.
  • WordProcessingLoadOptions 만들기
  • LoadOptions로 LoadRequest 생성
  • EditAPI의 load() 메소드로 파일 불러오기
  • 로드된 파일로 DownloadFileRequest 생성
  • FileAPI의 downloadFile() 메서드를 사용하여 HTML 문서 다운로드
  • 다운로드한 HTML 문서 편집 and insert an image
  • UploadFileRequest 만들기
  • FileAPI의 uploadFile() 메서드를 사용하여 HTML을 다시 업로드합니다.
  • DOCX에 저장할 WordProcessingSaveOptions 제공
  • SaveOptions로 SaveRequest 만들기
  • EditAPI의 save() 메서드를 사용하여 HTML을 DOCX에 다시 저장

다음 코드 스니펫은 Node.js에서 REST API를 사용하여 Word 문서에 이미지를 삽입하는 방법을 보여줍니다.

// API 초기화
let editApi = groupdocs_editor_cloud.EditApi.fromKeys(clientId, clientSecret);
let fileApi = groupdocs_editor_cloud.FileApi.fromKeys(clientId, clientSecret);

// 입력 파일   
let fileInfo = new groupdocs_editor_cloud.FileInfo();
fileInfo.filePath = "Sample.docx";

// 로드 옵션 정의
let loadOptions = new groupdocs_editor_cloud.WordProcessingLoadOptions();
loadOptions.fileInfo = fileInfo;
loadOptions.outputPath = "output";

// 로드 요청 생성
let loadRequest = new groupdocs_editor_cloud.LoadRequest(loadOptions);
let loadResult = await editApi.load(loadRequest);

// HTML 문서 다운로드
let downloadRequest = new groupdocs_editor_cloud.DownloadFileRequest(loadResult.htmlPath);
let buf = await fileApi.downloadFile(downloadRequest);
let htmlString = buf.toString("utf-8");

// 이미지 삽입
htmlString = htmlString.replace("left-aligned.", "left-aligned. <br/> <img src=\"sample.png\" alt=\"signatures\" style=\"width: 128px; height: 128px;\">");

// html을 저장소에 다시 업로드
let uploadRequest = new groupdocs_editor_cloud.UploadFileRequest(loadResult.htmlPath, new Buffer.from(htmlString, "utf-8"));
await fileApi.uploadFile(uploadRequest);

// html을 docx에 다시 저장
let saveOptions = new groupdocs_editor_cloud.WordProcessingSaveOptions();
saveOptions.fileInfo = fileInfo;
saveOptions.outputPath = "output/edited.docx";
saveOptions.htmlPath = loadResult.htmlPath;
saveOptions.resourcesPath = loadResult.resourcesPath;

// 저장 요청 생성
let saveRequest = new groupdocs_editor_cloud.SaveRequest(saveOptions);
let saveResult = await editApi.save(saveRequest);
console.log("Document edited: " + saveResult.path);
Node.js를 사용하여 Word 문서에 이미지 삽입

Node.js를 사용하여 Word 문서에 이미지 삽입

온라인 시도

위의 API를 사용하여 개발된 다음 무료 온라인 DOCX 편집 도구를 사용해 보십시오. https://products.groupdocs.app/editor/docx

결론

이 기사에서는 클라우드에서 Word 문서를 편집하는 방법을 배웠습니다. Node.js에서 REST API를 사용하여 DOCX 파일에 테이블을 추가하는 방법도 배웠습니다. 또한 프로그래밍 방식으로 Word 문서에 이미지를 삽입하는 방법을 배웠습니다. 이 기사에서는 프로그래밍 방식으로 DOCX 파일을 클라우드에 업로드한 다음 클라우드에서 편집된 파일을 다운로드하는 방법도 설명했습니다. 문서를 사용하여 GroupDocs.Editor Cloud API에 대해 자세히 알아볼 수 있습니다. 또한 브라우저를 통해 직접 API를 시각화하고 상호 작용할 수 있는 API 참조 섹션을 제공합니다. 모호한 점이 있으면 언제든지 포럼으로 문의해 주십시오.

또한보십시오