2014-07-04 4 views
0

페이지가 큰 테이블을 분할 한 PDF가 있으므로 페이지 당 테이블을 큰 페이지의 큰 테이블에 가입해야합니다.파이썬 PyPDF2 가입 페이지

PyPDF2 또는 다른 라이브러리에서 가능합니까?

환호

+0

몇 가지 샘플 페이지를 제공해 주시겠습니까? – willo

+0

http://www.ispch.cl/sites/default/files/uso_tratamiento.pdf –

답변

0

제 이해는 매우 어렵습니다. herehere을 참조하십시오.

문제는 테이블이 pdfs에 잘 표현되어 있지 않지만 단순히 위치가 정해져있는 라인 (위의 첫 번째 링크 참조)에서 만들어진 것입니다.

  • 한 페이지에 여러 페이지를 인쇄하고 읽을 수 있도록 ....
  • 페이지를 확장 할 수 있습니다 :

    는 다음 두 가지 가능한 해결 방법 (그들은 당신을 위해 그것을 할 것입니다 있는지 확실하지 않습니다)입니다 inkscape 또는 비슷한 것으로 pdf를여십시오. 그룹이 해제되면, 당신은 테이블을 구성하는 개별 요소에 액세스 할 수 있으며 그들에게 당신에게

편집

리브레 오피스 무승부를 살펴 보라 다른 벡터에 맞는 방식을 결합 할 수 있어야한다 꾸러미. 방금 pdf 파일을 열었고 pdf 구조를 보존하고 개별 요소를 편집하는 것으로 보입니다. 2

편집은 도움이 될 수 pdftables에서보세요.

PDFTables는 PDF 파일에서 표 추출에 도움이됩니다.

나는 그것을 시험해 보지 않았다. 내가 나중에 작동하도록 할 지 알기 위해 약간의 시간이 있을지도 모른다.

+0

프로그래밍 된 방법이 필요하며 작업의 복잡성을 이해합니다. 지금 당장 테이블을 처리 할 수는 있지만 원하는 방식대로 처리 할 수는 없습니다. –

1

비슷한 작업을 수행하면 입력 PDF가 필요하며 설정 파일을 통해 단일 페이지의 최종 패턴을 설정할 수 있습니다. PyPDF2으로 구현했지만 일부 pdf 파일에는 여전히 문제가 있습니다 (더 깊이 파고 들어야 함).

import PyPDF2 

with open('input.pdf', 'rb') as input_file: 
    # load input pdf 
    input_pdf = PyPDF2.PdfFileReader(input_file) 

    # start new PyPDF2 PageObject 
    output_pdf = input_pdf.getPage(page_number) 

    # get second page PyPDF2 PageObject 
    second_pdf = input_pdf.getPage(second_page_number) 

    # dimensions for offset from loaded page (adding it to the right) 
    offset_x = output_pdf.mediaBox[2] 
    offset_y = 0 

    # add second page to first one 
    output_pdf.mergeTranslatedPage(second_pdf, offset_x, offset_y, expand=True) 

    # write finished pdf 
    with open('output.pdf', 'wb') as out_file: 
      write_pdf = PyPDF2.PdfFileWriter() 
      write_pdf.addPage(output_pdf) 
      write_pdf.write(out_file) 

이 페이지가 아래 offset_y을 필요로 추가 : 같은 또 하나 페이지의 권리를 추가 원칙적으로 https://github.com/Lageos/pdf-stitcher

작동합니다. 금액은 offset_y = first_pdf.mediaBox[3]에서받을 수 있습니다.

+0

두 페이지를 병합하는 방법을 보여주는 코드가 추가되었습니다. 루프를 추가하여 여러 항목을 추가 할 수 있습니다. – Lageos

관련 문제