Software AG webmethods.io 및 Microsoft Azure 함수 앱을 통합하여 PDF 출력 파일 생성

소개



이 자습서에서는 Microsoft Azure Function 및 html-pdf Node JS 라이브러리를 사용하여 webMethods.io에서 PDF 파일을 생성하는 방법을 설명합니다. 사용 사례는 Microsoft Azure 기능과 통합webMethods.io하는 방법을 보여주는 것입니다. Html-pdf node js는 하나의 예이며 PDF 파일을 생성하기 위해 다른 프로그래밍 언어로 된 여러 다른 라이브러리가 있습니다. 요구 사항에 따라 올바른 것을 사용할 수 있습니다.

전제 조건



webMethods.io 클라우드 인스턴스에 액세스할 수 있습니다.
• 유효한 구독으로 Microsoft Azure에 액세스 – https://azure.microsoft.com
• Html-PDF 노드 js 라이브러리에 대한 지식 - html-pdf-node - npm

Microsoft Azure 함수 앱 만들기



• Azure 기능은 서버리스 컴퓨팅으로 애플리케이션 개발을 가속화하고 단순화하는 데 도움이 됩니다. 더 읽어보기 - Azure Functions Serverless Compute | Microsoft Azure
https://portal.azure.com/에 로그인
• 함수 앱 검색

• 새로 만들기를 클릭하여 새 함수 앱 생성을 시작합니다.
• 적절한 구독, 리소스 그룹, 앱 이름을 선택합니다.
  • Node.js로 런타임 스택 선택
  • 버전 10 LTS
  • 선택에 따른 지역



  • • 다음을 클릭하여 호스팅을 설정합니다. html-pdf node.js 라이브러리를 실행하려면 최소 Basic B1 App 서비스 요금제를 선택해야 합니다. 소비 계획이 작동하지 않습니다.



    • Azure 함수 앱 생성

    생성된 Microsoft Azure 함수 앱 설정



    Azure 함수를 성공적으로 배포한 후에는 노드 js 코드를 설정해야 합니다.
    • 새로 만든 함수 앱으로 이동하여 새 함수를 만듭니다. 이 기능을 호출할 수 있도록 HTTP 트리거를 선택하십시오webMethods.io.



    • 콘솔을 열고 새로 생성된 함수로 이동하여 html-pdf 라이브러리를 설치합니다.



    • 개발자 콘솔을 열고 아래 노드 JS 코드를 사용합니다.



    var pdf = require('html-pdf');
    
    module.exports = async function (context, req) {
        const html=(req.query.name || (req.body && req.body.name));
        var data = await returnHtmlAsPdf(html);
        var data2 = []
        data2.push(data);
        context.res = {
            setEncoding: 'binary',
            // status: 200, /* Defaults to 200 */
            body: Buffer.concat(data2)
        };
        context.done();
    };
    
    async function returnHtmlAsPdf(html) {
        return new Promise((resolve, reject) => {
            pdf.create(html).toBuffer(function(err, buffer){
                if(err){
                    reject(err);
                }
                resolve(buffer);
            })
        });
    
    }
    
    


    • 루트 디렉토리에 package.json 파일도 포함해야 합니다. 아래 샘플

    {
          "name": "PdfFunc",
          "version": "",
          "description": "",
          "scripts": {
            "test": "echo \"No tests yet...\""
          },
          "author": "",
          "dependencies": {
            "html-pdf": "^2.2.0"
          }
        }
    
    


    • 최종 프로젝트 구조는 다음과 같습니다.



    • 이 기능을 호출하려면 URL을 복사하십시오.



    webMethods.io 워크플로우



    이 예에서는 JSON 입력이 있는 사용 사례를 고려하고 있습니다.



    • 첫 번째 단계는 JSON 입력을 HTML로 변환하는 것입니다.
    • HTTP 요청 커넥터를 사용하여 HTML을 입력으로 전달하여 Azure 함수 앱을 호출합니다.
    • Azure 함수 앱의 응답은 PDF 바이트 배열입니다.
    • 파일에 답장을 작성하여 파일을 첨부파일로 이메일로 전송합니다.

    HTTP 커넥터 설정



    응답 인코딩을 바이너리로 설정하는 데 유의하십시오.



    또한 이진 인코딩으로 파일을 작성하십시오.



    Read full topic

    좋은 웹페이지 즐겨찾기