2016-10-06 3 views
0

내부에 투명한 이미지가있는 XFDF Stamp Annotation을 Java로 생성하고 싶습니다. 이미지 저장 형식을 인식하는 데 심각한 문제가 있으며 입력 이미지를 해당 형식으로 변환하는 방법에 대해 알아야합니다.이미지로 XFDF 주석을 만드는 방법

은 지금까지 나는

  • 이 우표 요소는 annots 요소의 자식이며, 고무 스탬프 주석에 해당 알고있다. 고무 도장 주석은 고무 도장이있는 페이지에 스탬프 처리 된 것처럼 보이는 텍스트 또는 그래픽을 표시합니다. 존재하는 경우 모양 하위 요소 (주석 사전의 AP 키)가 아이콘 속성 (고무 스탬프 주석 사전의 이름 키)보다 우선합니다. 내용 모델 (컨텐츠 서식있는 텍스트? & 내용은? & 모습? & 팝업?)
  • 외관 요소 스탬프 요소의 자식이며, 주석 사전에 AP 키에 해당합니다. 값은 기본 64 인코딩 된 문자열입니다. 콘텐츠 모델 Base 64로 인코딩 된 문자열입니다. 특성 없음.

저는 이미지를 디코딩 할 때이 같은 신택스를 보게 있지만, 안타깝게도 I는 < 데이터 MODE = "에 존재하는 원시 데이터의 종류를 모를, 이미지를 포함하는 예를 XFDF 가지고 RAW " 인코딩 = " HEX " > 태그.

<DICT KEY="AP"> 
<STREAM KEY="N"> 
    <ARRAY KEY="BBox"> 
     <FIXED VAL="250"/> 
     <FIXED VAL="550"/> 
     <FIXED VAL="400"/> 
     <FIXED VAL="575"/> 
</ARRAY> 
    <INT KEY="FormType" VAL="1"/> 
    <INT KEY="Length" VAL="35"/> 
    <DICT KEY="Resources"> 
     <DICT KEY="XObject"> 
      <STREAM KEY="Im1"> 
       <INT KEY="BitsPerComponent" VAL="8"/> 
       <NAME KEY="ColorSpace" VAL="DeviceRGB"/> 
       <NAME KEY="Filter" VAL="FlateDecode"/> 
       <INT KEY="Height" VAL="150"/> 
       <INT KEY="Length" VAL="1907"/> 
       <STREAM KEY="SMask"> 
        <INT KEY="BitsPerComponent" VAL="8"/> 
        <NAME KEY="ColorSpace" VAL="DeviceGray"/> 
        <NAME KEY="Filter" VAL="FlateDecode"/> 
        <INT KEY="Height" VAL="150"/> 
        <INT KEY="Length" VAL="5690"/> 
        <NAME KEY="Subtype" VAL="Image"/> 
        <NAME KEY="Type" VAL="XObject"/> 
        <INT KEY="Width" VAL="300"/> 
        <DATA MODE="RAW" ENCODING="HEX"> 

나는 PDFBox의 도움으로 PDF에서 사용자 정의 이미지와 고무 스탬프 주석을 만들고 관리해야하지만, 슬프게도 PDFBox는 그들이 단지 형태의 수출 지원, XFDF에 주석의 이런 종류의 수출을 지원하지 않는 것 (AcroForm). 유료 소프트웨어를 제외하고는 Java에서 다른 도구를 내보낼 수 있다는 것을 알지 못합니다.

답변

2

DCT 형식 (JPEG)의 16 진수 표현입니다. 투명한 이미지 스탬프를 원한다면 XFDF에서 이미지와 마스크 두 가지를 가져야합니다.

+0

예제 콘텐츠에서만 지원되는 형식입니까? 이것에 대한 문서를 가르쳐 주시겠습니까? – Javo

+0

Acrobat DC를 사용하여 PNG 파일에서 사용자 정의 스탬프를 작성하여 만든 샘플을 기반으로 가정했습니다. XFDF 설명서는 https://partners.adobe.com/public/developer/en/xml/XFDF_Spec_3.0.pdf 아래 링크에 있습니다. – joelgeraci

+0

Base64를 텍스트로 변환하고 16 진수를 텍스트로 변환하여 저장하려고했습니다. 그것은 jpg로 그것은 작동하지 않았다. 그러나 나는 잘못된 회심을 할 수 있음을 인정한다. 당신이 지적한 스펙은 형식에 대해별로 말하지 않습니다. – Javo

0

XFDF 사양은 해당 딕트 태그의 용도를 설명하지 않습니다. 그들이 정보의 중요한 부분을 빠뜨린 것 같아요.

이 스레드로 인해 결과로 나온 기본 64 이미지가 Acrobat으로 가져 오기되지 않은 이유를 알 수있었습니다. 그래서 XOjbect의 XML입니다.

아마도 acrobat PDF 사양에 언급되어 있습니다.

관련 문제