1. 제품
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Java

Aspose.PDF FOSS - Aspose.PDF Java용 FOSS

Java에서 PDF 문서를 생성하고 조작합니다 — 주석, 양식 필드, 페이지 조작 및 PDF/A 호환을 지원합니다. MIT 라이선스.

무료 MIT 라이선스 Java 라이브러리, PDF 생성 및 조작용

Aspose.PDF FOSS for Java은 PDF 문서를 생성하고 작업하기 위한 MIT 라이선스 Java 라이브러리입니다. 중앙 진입점으로서 포괄적인 Document 클래스를 제공하며, 주석, 인터랙티브 폼 필드, 페이지 조작, 메타데이터 및 PDF/A 준수 검증을 완전하게 지원합니다.

라이브러리는 전체 PDF 사양을 포괄하는 527개의 클래스를 노출한다: Document, Page, 및 PageCollection을 통한 문서 구조; Annotation 계층을 통한 주석( WidgetAnnotation, FreeTextAnnotation, 및 HighlightAnnotation 포함); Form, ButtonField, CheckboxField, 및 RadioButtonField을 사용한 대화형 양식; BmpDevice를 통한 페이지 렌더링; 및 ActionRulesActionFixes를 통한 PDF/A 준수 검사. 암호화는 CBC 모드의 AESCipher를 통해 제공된다.

귀하의 Maven 프로젝트에 Aspose.PDF FOSS를 추가하고 groupId org.aspose 및 artifactId aspose-pdf를 사용하십시오. 이 라이브러리는 Java 11 이상이 필요하며 완전한 MIT 라이선스를 가지고 있습니다. 엔터프라이즈 기능 및 지원은 Aspose.PDF for Java — Enterprise Product를 참조하십시오.

문서 구조 및 페이지 관리

  • Document API: 새 PDF 문서를 만들려면 Document 클래스를 사용하십시오. 기존 문서는 Document(filePath) 또는 Document(stream) 생성자를 통해 액세스할 수 있습니다.
  • 페이지 관리: 페이지를 PageCollection을 통해 추가하고, 접근하고, 수정합니다. 각 PageMediaBox, CropBox, 회전, 리소스 및 콘텐츠 연산자를 노출합니다.
  • 메타데이터: 문서 메타데이터를 DocumentInfoXmpMetadata을 통해 읽고 쓸 수 있습니다.
  • PDF 구조: 기본 PDF 객체에 getParser(), getCatalog(), 및 getTrailer()을 통해 액세스합니다.
  • 임베디드 파일: getEmbeddedFiles()로 임베디드 파일 컬렉션을 관리합니다.

일반적인 문서 처리 시나리오

  • PDF generation: 프로그램 방식으로 문서를 생성하려면 Document를 만들고 페이지를 채워 넣으세요.
  • 문서 분석: 기존 파일에 액세스하여 메타데이터 검사 또는 양식 필드 열거를 수행합니다.
  • 페이지 조작: PdfFileEditorPage API를 사용하여 페이지를 크기 조정, 회전 또는 재정렬합니다.
  • 배치 워크플로: 여러 문서에 일관된 변환을 서버 측 파이프라인에서 적용합니다.

주석 및 양식 필드

  • Annotation hierarchy: 추상 Annotation 클래스는 모든 주석의 기본이며; 구체적인 유형에는 WidgetAnnotation, FreeTextAnnotation, HighlightAnnotation, 및 UnderlineAnnotation가 포함됩니다.
  • 대화형 양식: Document.getForm()를 통해 문서 양식에 액세스하여 ButtonField, CheckboxField, 및 RadioButtonField 인스턴스를 열거하거나 생성합니다.
  • 위젯 외관: AppearanceCharacteristics를 통해 시각적 속성을 제어합니다 — 테두리 색상, 배경, 회전 및 캡션.
  • 양식 편집: 고급 수준의 양식 조작을 위해 FormEditorFormElement을 사용하십시오.

문서 검토 및 협업

  • 마크업 주석: 문서에 하이라이트, 밑줄 또는 자유 텍스트 주석을 추가하여 검토 워크플로를 지원합니다.
  • 대화형 양식: 라디오 버튼, 체크박스 및 푸시 버튼을 사용하여 데이터를 캡처할 수 있는 작성 가능한 문서를 만듭니다.
  • 폼 데이터 추출: 서버 측 파이프라인을 위해 제출된 폼 필드 값을 읽습니다.
  • Archival compliance: 문서를 장기 보관을 위해 검증하고 수정하려면 ActionRulesActionFixes을(를) 사용하십시오.

보안 및 콘텐츠 운영

  • AES encryption: AESCipher를 사용하여 CBC 모드(AESCipher.encrypt(key, data)AESCipher.decrypt(key, data))로 데이터 바이트 배열을 암호화 및 복호화합니다.
  • 아티팩트 관리: 헤더, 푸터, 워터마크 및 배경 이미지를 ArtifactArtifactCollection API를 통해 식별하고 조작합니다.
  • 콘텐츠 크기 조정: PdfFileEditor.resizeContents()ContentsResizeParameters을 사용하여 페이지 콘텐츠 레이아웃을 조정합니다.
  • 컴플라이언스 검증: PDF/A 표준에 대해 주석 및 동작 규칙을 AnnotationRulesActionRules을 사용하여 검증합니다.

문서 보안 사용 사례

  • 암호화된 페이로드: AESCipher를 사용하여 문서 스트림에 포함된 데이터 섹션을 암호화합니다.
  • 문서 보호: 컴플라이언스 워크플로에서 액세스 제어를 위한 보안 설정을 적용합니다.
  • 워터마킹: 워터마크와 페이지 장식을 나타내는 Artifact 객체를 감지하고 관리합니다.
  • 아카이브 준수: 기존 문서가 PDF/A-1b 아카이브 표준을 충족하도록 ActionFixesAnnotationFixes를 실행하십시오.

위젯 주석이 포함된 문서 만들기

새 문서를 만들고 페이지를 추가한 뒤 스타일이 적용된 위젯 주석을 첨부합니다.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}
```java
try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    WidgetAnnotation w = new WidgetAnnotation(page, new Rectangle(0, 0, 100, 50));
    w.getCharacteristics().setBorder(Color.fromRgb(1, 0, 0));
    w.getCharacteristics().setCaption("Submit");
    page.getAnnotations().add(w);
    doc.save("output.pdf");
}

라디오 버튼이 있는 양식 만들기

문서 양식에 라디오 버튼 그룹을 추가하고 값을 프로그래밍 방식으로 선택합니다.

try (Document doc = new Document()) {
    Page page = doc.getPages().add();
    RadioButtonField radio = new RadioButtonField(page);
    radio.setPartialName("choice");
    radio.addOption("Option1", new Rectangle(50, 50, 70, 70));
    radio.addOption("Option2", new Rectangle(50, 80, 70, 100));
    doc.getForm().add(radio, 1);
    radio.setValue("Option2");
    doc.save("form.pdf");
}

문서 페이지 치수 검사

기존 문서에 접근하고 첫 페이지의 미디어 박스 치수를 읽습니다.

try (Document doc = new Document("input.pdf")) {
    double width = doc.getPages().get(1).getMediaBox().getWidth();
    double height = doc.getPages().get(1).getMediaBox().getHeight();
    System.out.println("Page size: " + width + " x " + height);
}
  

지원 및 학습 자료

 한국어