PDF 문서를 수정하는 웹 응용 프로그램 개발

Oracle Visual Builder는 외부 JavaScript 라이브러리를 사용하여 PDF 문서를 생성, 업데이트 및 다운로드할 수 있는 웹 애플리케이션을 빌드할 수 있는 툴과 템플리트를 제공합니다.

앱 사용자는 다양한 컨텍스트에서 다양한 용도로 PDF 문서를 소비, 수정 및 생성합니다. 업로드된 PDF 문서는 응용 프로그램에서 읽어야 하며 이에 따라 이 문서의 내용이 변경되는 경우가 많습니다. 응용 프로그램이 PDF에서 수행할 수 있어야 하는 몇 가지 일반적인 변경 사항은 다음과 같습니다.
  • 새 텍스트 추가
  • 문서의 일부 주위에 직사각형 그리기
  • 다른 페이지에서 PDF 분할
  • 이미지 삽입
경우에 따라 새 PDF 문서를 처음부터 생성하고 응용 프로그램에서 생성한 정보로 채워야 합니다.

이 솔루션은 웹 및 모바일 Visual Builder 애플리케이션에서 PDF 수정 기능을 구현하는 데 필요한 지침을 제공합니다. 사용자가 새 PDF 파일을 업로드 또는 생성하고, 사용자정의 텍스트로 이 문서를 수정하고, 애플리케이션의 기본 페이지에 문서를 표시할 수 있는 단일 페이지 웹 애플리케이션을 개발하는 방법을 설명합니다. 필요한 경우 응용 프로그램에서는 사용자가 파일을 로컬 클라이언트 저장소에 다운로드할 수도 있습니다.

GitHub 저장소(SampleVBCSModifyingPDFApplication)에는 해당 구현의 예로 사용할 수 있는 Oracle Visual Builder 웹 애플리케이션에 대한 소스 코드가 포함되어 있습니다. 이 Playbook의 "자세히 탐색" 섹션에서 이 저장소에 액세스할 수 있습니다.

시작하기 전에

개발자는 Oracle의 Low Code Visual Builder를 사용하여 다음과 같은 작업을 수행하기 위해 PDF 파일을 처리할 수 있는 웹 또는 모바일 애플리케이션을 생성할 수 있습니다.

  • PDF 파일 생성
  • PDF 컨텐트 수정(예: 페이지, 텍스트, 이미지 추가 또는 제거)
  • 다른 PDF 문서를 하나로 병합하거나 다중 페이지 PDF 문서를 분할합니다.
그러면 응용 프로그램에서 다음과 같은 PDF 문서를 생성할 수 있습니다.
  • 애플리케이션 UI에 표시됩니다.
  • 애플리케이션 사용자가 다운로드했습니다.
  • 버킷에 저장됩니다.
  • 추가 처리를 위해 다른 OCI 서비스로 전송되었습니다(예: OCI Document Understanding 서비스).
Oracle Visual Builder가 이러한 종류의 작업을 위한 개발 플랫폼인 경우 외부 라이브러리를 임포트하여 PDF 문서를 생성하고 업데이트해야 합니다. 따라서 시작하기 전에 사용 가능한 JavaScript 라이브러리를 평가하고 해당 API가 애플리케이션 요구사항을 충족할 수 있는지 확인해야 합니다.

이 솔루션은 PDF-LIB API를 사용하여 새 PDF 문서를 만들고 기존 PDF 문서를 수정합니다.

구조

이 아키텍처 다이어그램은 Oracle Visual Builder에서 구현 및 배포한 웹 애플리케이션을 개발하고 통합하는 일반적인 방법을 보여줍니다.


다음은 webapp-vb-arch.png에 대한 설명입니다.
그림 webapp-vb-arch.png에 대한 설명

webapp-vb-arch-oracle.zip

Oracle Visual Builder를 사용하면 백엔드 스토리지 서비스와 통신할 수 있는 애플리케이션을 개발할 수 있습니다. 이를 사용하여 애플리케이션의 인터페이스를 렌더링하는 페이지를 생성하고, REST 서비스에 연결하는 서비스 연결을 생성하고, 빌드 구성을 정의하여 Oracle Visual Builder의 빌드 서비스가 Android, iOS, Progressive 및 기본 웹 앱을 생성할 수 있도록 합니다.

이 아키텍처에는 다음 구성요소가 포함되어 있습니다.
  • Visual Builder Cloud Service입니다.

    Oracle Visual Builder Cloud Service는 클라우드 기반 소프트웨어 개발 PaaS(서비스형 플랫폼) 및 호스트된 애플리케이션 개발 인프라 환경입니다. Oracle Cloud 내에서의 애플리케이션 개발, 공동 작업 및 배치를 위해 오픈 소스 표준 기반 솔루션이 제공됩니다. 또한 민첩한 협업 개발, 버전 제어 및 지속적인 제공 자동화를 갖춘 통합 시각적 개발 환경을 제공합니다. 매력적인 맞춤형 UI로 애플리케이션을 강화하며 표준 JavaScript, HTML, CSS 및 REST를 통해 확장 가능한 플랫폼입니다.

  • 시각적 빌더 스튜디오
    Oracle Visual Builder Studio(VB Studio)는 설계, 구축, 테스트 및 배포와 같은 애플리케이션 개발 수명 주기의 모든 단계에서 팀의 작업 계획을 효과적으로 수립하고 관리할 수 있도록 지원하는 강력한 애플리케이션 개발 플랫폼입니다. Oracle Visual Builder Studio를 사용하면 다음과 같은 이점을 얻을 수 있습니다.
    • Git에서 코드를 호스팅하고 Maven 종속성과 같은 바이너리를 호스팅하기 위한 내장 저장소입니다.
    • 지속적인 통합 서비스로 구축 및 테스트 시스템을 자동화할 수 있습니다.
    • Oracle Cloud Applications와 긴밀하게 통합되는 지속적 제공 서비스입니다.
    • 개발자가 변경 사항을 관리하고, 버전 제어 모범 사례를 적용하고, 팀원과 협업하여 애플리케이션을 개발할 수 있도록 Git(소스 제어)과 통합된 풍부한 시각적 디자이너입니다.
    • 특정 Oracle Cloud Applications(VB Studio 및 Oracle JET(Oracle JavaScript Extension Toolkit)로 구축된 사용자)의 고유 요구를 충족할 수 있는 다양한 UI 스타일을 구축하고 표시할 수 있는 기능도 Git 프레임워크 내에서 제공됩니다.
    • 스프린트, 작업, 결함 및 기능을 추적하기 위한 민첩한 보드 및 문제 추적 시스템.
    Oracle Visual Builder Studio를 사용하면 Oracle Cloud Applications 또는 Oracle Cloud Infrastructure(OCI) 서비스 인스턴스의 스테이징 또는 운영 인스턴스 등 원하는 대상에 애플리케이션을 쉽게 배포할 수 있습니다.
  • VM(가상 머신 빌드 실행기)

    VM 빌드 실행기는 조직의 멤버가 VB Studio 프로젝트에서 정의하는 작업 빌드를 실행하기 위한 전용 OCI VM 컴퓨트 인스턴스입니다. VM 실행기는 항상 빌드 실행기 템플리트와 연관됩니다. 조직의 멤버는 작업을 생성할 때 해당 실행기 템플리트를 작업에 연결하기만 하면 됩니다. 작업의 빌드가 트리거되면 VB Studio는 실행기 템플리트와 연관된 VM 실행기에서 빌드를 실행합니다. VM 실행기는 실행기 템플리트를 참조하는 작업 빌드가 트리거될 때 자동으로 시작되고 이에 따라 상태를 변경합니다. VM 실행기는 활성 상태이거나 빌드를 실행하거나 빌드 실행을 위해 자체적으로 준비하는 경우에만 비용이 발생합니다.

  • Docker 컨테이너(빌드 실행기 및 이미지)
    Docker 이미지는 조직의 멤버가 Docker 실행기에서 빌드를 실행하는 데 필요한 운영 체제 및 소프트웨어 패키지를 정의합니다. 외부 Docker 레지스트리(예: DockerHub)에서 Docker 이미지를 임포트하거나 빌드 실행기 템플리트에서 생성할 수 있습니다. VM 실행기와 달리 Docker 실행기는 특정 VM과 직접 연관되지 않습니다. 조직의 멤버가 작업을 생성할 때 Docker 이미지를 빌드 템플리트로 작업에 연결하기만 하면 됩니다. 작업의 빌드가 트리거되면 VB Studio가 모든 Docker 배치 VM에서 빌드를 실행합니다. Docker 이미지에 대해 기억해야 할 몇 가지 주요 사항은 다음과 같습니다.
    • 빌드 실행기 템플리트에서 이미지를 생성할 때 VB Studio는 해당 템플리트에 구성된 소프트웨어를 설치하여 새 Docker 이미지를 생성합니다. 레지스트리에서 이미지를 만들면 VB Studio가 레지스트리에서 이미지를 가져오고 빌드 에이전트를 추가하고 새 이미지를 만듭니다.
    • 이미지에서 생성할 수 있는 최대 실행기 수를 지정할 수 있습니다.
    • 관리 VM에 충분한 공간이 있는 경우 필요한 만큼 Docker 이미지를 만들 수 있습니다.
  • 함수

    Oracle Cloud Infrastructure Functions는 확장성이 뛰어난 완전 관리형 다중 테넌트 온디맨드 FaaS(Functions-as-a-Service) 플랫폼입니다. 엔터프라이즈급 Oracle Cloud Infrastructure에 구축되어 있으며 Fn Project 오픈 소스 엔진을 기반으로 합니다. OCI Functions의 서버리스 및 탄력적 아키텍처는 수행할 인프라 관리 또는 소프트웨어 관리가 없음을 의미합니다. OCI Functions는 Java, Python, Node, Go, Ruby 및 C#에서 코드를 작성할 수 있습니다(고급 사용 사례의 경우 자체 Dockerfile 및 Graal VM 가져오기). 그런 다음 코드를 배치하고, 직접 호출하거나, 이벤트에 대한 응답으로 트리거하고, 실행 중 소비된 리소스에 대해서만 비용을 청구할 수 있습니다. 콘솔, CLI 및 REST API를 사용하여 OCI 기능에 액세스할 수 있습니다. CLI를 사용하거나 서명된 HTTP 요청을 생성하여 OCI 함수에 배치하는 함수를 호출할 수 있습니다. OCI Functions는 Oracle Cloud Infrastructure Identity and Access Management(IAM)와 통합되어 네이티브 Oracle Cloud Infrastructure ID 기능을 통해 간편하게 인증할 수 있습니다.

  • 이벤트

    Oracle Visual Builder Studio 인스턴스에 수행한 작업은 이벤트를 내보냅니다. Oracle Cloud 콘솔을 사용하여 이벤트 발생 시 특정 동작을 트리거하는 규칙을 정의할 수 있습니다. Oracle Cloud Infrastructure Events를 사용하면 테넌시 전체의 리소스 상태 변경에 따라 자동화를 생성할 수 있습니다. 리소스를 변경하면 개발 팀이 자동으로 응답할 수 있도록 하려면 이벤트를 사용합니다. 예를 들어, 누군가가 인스턴스를 생성, 삭제 또는 업데이트할 때 관리자에게 통지를 보내는 규칙을 정의할 수 있습니다.

  • 프로젝트

    프로젝트는 VB Studio 기능의 모음입니다. 프로젝트를 사용하여 소스 코드 파일을 호스트하고, 문제를 추적하고, 코드에서 협업하고, 애플리케이션을 빌드 및 배치할 수 있습니다. 프로젝트는 여러 Git 저장소를 호스트할 수 있습니다. 각 Git 저장소에는 여러 분기와 수백 개의 코드 파일이 있을 수 있습니다. Git 저장소의 각 분기에 대해 병합 요청을 생성하고 검토자에게 코드 검토를 요청할 수 있습니다. 여러 빌드 작업을 생성하고 구성하여 Oracle Cloud 또는 온프레미스 웹 서버에 배포할 수 있는 다양한 프로젝트 아티팩트를 생성할 수 있습니다.

  • Git 저장소

    소스 코드 파일을 호스트하는 SCM(소스 코드 관리) 및 분산 버전 제어 도구입니다.

  • 코드 검토 및 병합 요청

    Git 저장소 분기를 다른 분기와 병합하는 방법입니다. 분기를 병합하기 전에 팀 멤버는 두 분기의 파일 간 차이를 검토하고 피드백을 제공할 수 있습니다.

  • CI(Continuous Integration) 및 CD(Continuous Delivery) 파이프라인

    지속적인 통합은 개발 팀이 작은 코드 변경 사항을 구현하고 코드를 Git과 같은 버전 제어 저장소에 자주 푸시할 수 있는 일련의 관행입니다. 지속적인 제공은 개발자가 짧은 주기로 소프트웨어를 생성할 수 있도록 하는 관행입니다.

  • VCN(가상 클라우드 네트워크) 클라우드 서비스

    VCN은 Oracle Cloud Infrastructure 지역에서 설정하는 커스터마이징 가능한 소프트웨어 정의 네트워크입니다. 기존 데이터 센터 네트워크와 마찬가지로 VCN을 통해 네트워크 환경을 완전히 제어할 수 있습니다. VCN에는 VCN 생성 후 변경할 수 있는 겹치지 않는 여러 CIDR 블록이 있을 수 있습니다. VCN을 서브넷으로 세분화하여 영역 또는 가용성 도메인으로 범위를 지정할 수 있습니다. 각 서브넷은 VCN의 다른 서브넷과 겹치지 않는 인접한 주소 범위로 구성됩니다. 생성 후 서브넷의 크기를 변경할 수 있습니다. 서브넷은 공용(public) 또는 전용(private)으로 지정할 수 있습니다.

  • 데이터 저장소(Oracle Autonomous Transaction Processing 사용)

    Oracle Autonomous Transaction Processing은 트랜잭션 처리 워크로드에 최적화된 자동 구동, 자가 보안 및 자가 복구 데이터베이스 서비스입니다. 하드웨어를 구성 또는 관리하거나 소프트웨어를 설치할 필요가 없습니다. Oracle Cloud Infrastructure는 데이터베이스 생성과 데이터베이스 백업, 패치 적용, 업그레이드 및 튜닝을 처리합니다.

  • Identity Cloud Services(IdCS)

    Oracle Identity Cloud Service는 다중 테넌트 클라우드 플랫폼을 통해 모든 핵심 ID 및 액세스 관리 기능을 제공하는 혁신적이고 완벽하게 통합된 서비스를 제공합니다.

  • 감사

    OCI 감사 서비스는 모든 지원되는 OCI 공용 API 끝점에 대한 호출을 로그 이벤트로 자동으로 기록합니다.

  • 오브젝트 스토리지

    오브젝트 스토리지를 사용하면 데이터베이스 백업, 분석 데이터, 이미지 및 비디오와 같은 리치 콘텐츠를 포함하여 모든 콘텐츠 유형의 대규모 정형 및 비정형 데이터에 빠르게 접근할 수 있습니다. 인터넷 또는 클라우드 플랫폼 내에서 직접 안전하고 안전하게 데이터를 저장하고 검색할 수 있습니다. 성능 또는 서비스 신뢰성이 저하되지 않고 스토리지를 원활하게 확장할 수 있습니다. 빠르고 즉각적이며 자주 액세스해야 하는 "핫" 스토리지에 표준 스토리지를 사용합니다. 장기간 보존하고 거의 또는 거의 액세스하지 않는 "콜드" 스토리지에 아카이브 스토리지를 사용합니다.

Oracle Visual Builder로 애플리케이션 구축 단계

다음은 Oracle Visual Builder로 애플리케이션을 개발할 때 따라야 할 기본 단계입니다.

  1. 독립형 Visual Builder 서비스에서 Visual Builder 서비스 인스턴스(아직 생성되지 않은 경우) 또는 Oracle Integration Cloud(OIC)에서 새 통합 인스턴스(생성되지 않은 경우)를 생성합니다.
  2. 새 Visual Builder 애플리케이션을 생성합니다.
  3. Oracle Visual Builder에서 새 웹 애플리케이션을 생성합니다.
  4. 파일 업로드, 새 PDF 문서 생성 및 업데이트된 문서 다운로드 버튼과 같은 제어를 노출하는 페이지 및 전체 사용자 인터페이스를 생성합니다.
  5. PDF 문서에서 추출되거나 포함된 정보를 호스트할 변수와 상수를 생성합니다.
  6. 필요한 외부 리소스 및 라이브러리 임포트
  7. 다음 작업을 수행하는 데 필요한 JavaScript 코드를 개발합니다.
    • 로컬 시스템에서 파일을 업로드합니다.
    • 입력한 텍스트로 업로드된 PDF 파일을 수정합니다.
    • 새 PDF 문서를 생성합니다.
    • PDF 파일을 다운로드합니다.
  8. 적합한 유저 및 문서를 사용하여 응용 프로그램을 테스트합니다.
  9. 웹 애플리케이션을 스테이지하고 게시합니다.

필수 서비스 및 역할 정보

이 솔루션을 사용하려면 Oracle Visual Builder 서비스와 다음의 추가 서비스 및 해당 역할이 필요합니다.

서비스 이름: 역할 다음에 필요
Oracle Cloud Infrastructure: 관리자 모바일 사용자, 역할 및 영역을 관리합니다.
Oracle Visual Builder: ServiceDeveloper 애플리케이션 계층의 미리 정의된 롤에 매핑되는 Visual Builder Developer 미리 정의된 롤입니다. 웹 및 모바일 애플리케이션을 생성, 관리, 보안 및 게시합니다.

필요한 클라우드 서비스를 이용하려면 Oracle 솔루션을 위한 Oracle Cloud 서비스를 얻는 방법 알아보기를 참조하십시오.