2012-08-25 4 views
2

글쎄, 나는 최근에 PDF 파일을 XML 파일로 가져 와서 원래의 파일과 똑같은 PDF 파일로 되 돌리는 질문을했다.하지만 적어도 거의 똑같다.PDF를 XML로 다시 PDF로 다시

나는 다른 방법을 시도해 왔으며 지금까지이 것을 생각해 냈습니다.

  1. LibreOffice로 작성된 문서는 DocBook XML로 저장됩니다. 그것이 "file.xml"이라는 이름으로 말해봐.
  2. 이 파일은 "docbook.xsl"파일에 의해 시작된 DocBook 프로젝트의 XSL 템플릿 세트로 구문 분석됩니다.
  3. 이 다음과 같이 실행됩니다 : xsltproc -o intermediate-fo-file.fo /usr/share/xml/docbook/stylesheet/nwalsh/fo/docbook.xsl file.xml
  4. 결과는 중간 XSL-입니다 fop intermediate-info-file.fo final.pdf
  5. 이 PDF 파일은 원본 ODT 파일과 거의 같습니다.

그래도 처음에는 PDF 파일이 있는데 어떻게 동일한 작업을 수행 할 수 있습니까? 어떤 제안?

답변

5

PDF에서 XML 로의 무손실 변환의 유일한 기회는 PDF와 동일한 문서 뷰를 가진 대상 XML 어휘를 사용하는 것입니다. PDF의 문서 뷰는 주로 프리젠 테이션에만 국한된 것이 아니기 때문에 주로 Docbook과 같은 XML 어휘의 디자인 동기는 더 높은 수준의 추상화를 포착하는 것이지만 두 가지 어려움이 있습니다 : (1) 프레젠테이션 지향 XML 어휘는 두껍지 않습니다 (2) PDF에서 좀 더 일반적인 XML 어휘 (직접 또는 프리젠 테이션 지향 XML을 통해)로 이동하려면 오름차순으로 물을 밀고 문서의 프리젠 테이션을 타겟 어휘의 더 높은 수준의 추상화. 이러한 프로세스를 자동화하는 것은 기껏해야 어려울 것입니다.

이것이 일종의 생각 실험이며 가능한 경우 언제 어떻게 볼 수 있는지 PDF-XML-PDF 왕복 여행을 생각한다면 어떤 사람들이 그것이 가능하지 않다고 믿는 이유를 알게 될 것입니다 일반적인 형태. 실용적인 이유로이 PDF에서 PDF 로의 데이터 흐름이 필요한 경우 실제 목표가 다른 방식으로 충족 될 수 있는지 여부를 반영하는 것이 좋습니다.

+0

고맙습니다.점차 필자는이 작업을 수행함에있어서의 어려움을 이해하기 위해 왔지만 XML이 PDF에서 제시된 것과 동일한 정보와 비교할 때 요구되는 공간의 일부만을 감안할 때 큰 이점을 제공합니다. 어떤 경우에는 10 배가됩니다. - XML ​​= 10kb PDF = 1Mb 우리는 문서를 다루는 거대한 장기 보관 시스템에서 파일을 XML로 저장할 수 있지만 PDF로 표시하면 영향을 미칩니다. 당국은 원래 PDF로 시작하기 위해 엄청난 비율의 문서를 생성합니다. –

+0

PDF-XML-PDF가 "팽창하여"해결 될 수있는 이유입니다. –

+0

@ pdul 귀하의 pdf 문서가 단순한 경우 귀하가 원래 요청한 것을 할 수 있다고 확신합니다. 또한 PDF/A (보관 용 PDF)를 보셨습니까? – Jimmy

1

문서가 전문 기사 (예 : http://pdfx.cs.man.ac.uk/example.pdf)와 같은 방식 인 경우 PDFX이 도움이 될 수 있습니다.

PDF 문서를 Docbook 문서와 구조가 유사한 XML로 변환합니다. 또한 PDFX XML에서 이미 PDF를 작성한 Docbook XML로 이동할 수있는 원본 PDF (예 : & 열 번호)에서 추출 된 요소에 대한 위치 정보를 유지하려고합니다.

예 입력/출력 : http://pdfx.cs.man.ac.uk/example

사용법 : http://pdfx.cs.man.ac.uk/usage

또한 XSL-FO, TeXML로 텍스 대안을 고려할 수 있습니다. PDFX와 같은 XML을 .texml로 바꾸기위한 오래된 XSL이 있었는데 texml.tex으로 바뀔 수있었습니다.

(공개 : PDFX 썼습니다.)

+3

사용한 API에 대해 알려주시겠습니까? 우리는 개발자입니다. –

+1

링크가 더 이상 응답하지 않습니다. –

+0

여기에서 직접 사례를 실행할 수 있습니다. http://pdfx.cs.man.ac.uk/ –

관련 문제