openxml-sdk를 사용하여 큰 (~ 1000 페이지) 워드 문서를 만들었습니다. 응용 프로그램이라는 단어를 사용하여 처음 열면 상태 표시 줄에 "Word가 test.docx 페이지 번호를 다시 매기고 있습니다"라는 메시지 가 표시되고 약 15 초 동안 표시됩니다. 이 동작에 대한 독일어 스크린 샷 을 만들었습니다 . 이 단계가 끝나면 문서가 변경되어 저장해야합니다. 파일의 새 버전은 원본 파일 크기의 약 2 배입니다.
문서는 단순히 호출하여 처음으로 저장됩니다.
document.SaveAs("someFilePath");
이 행동은 정확히 무엇입니까? 프로그래밍 방식으로 문서를 만들 때 (또는 이후에) 페이지 번호를 다시 매길 수 있습니까?
에서 페이지 번호를 다시 매길 수는 없습니다. WordprocessingDocument
해당 페이지 번호는에 저장되지 WordprocessingDocument
않고 문서를 레이아웃하거나 렌더링하는 동안 생성 되기 때문 입니다.
일반적인 문서는 페이지 번호를에 포함 된 Open XML 마크 업에서 찾을 수있는 복잡한 필드로 정의합니다 FooterPart
(또는 가능하면 HeaderPart
). 페이지 번호 필드를 가정하면에 저장됩니다 FooterPart
, 당신은 하나가있을 수 있습니다 FooterPart
에 WordprocessingDocument
가장 간단한 경우 (예를 들어, 하나의 섹션 문서). FooterPart
예를 들어 여러 섹션이 있거나 첫 번째, 홀수 및 짝수 페이지에 대해 다른 레이아웃이 있기 때문에 s 가 여러 개인 경우 에도 FooterPart
문서에 s 가 상대적으로 적습니다 (최소한 1.000 페이지에 비해).
Word에서 인쇄 또는보기를 위해 문서를 렌더링 할 때 FooterPart
s를 기반으로 페이지 번호도 렌더링합니다 (여전히 예제 사용). 1.000 페이지의 경우 Word가 그다지 큰 문서 용이 아니기 때문에 시간이 걸립니다.
Word의 작업을 수행하고 레이아웃을 직접 수행하려면 레이아웃 엔진을 구축하는 것이 매우 복잡하고 많은 노력이 필요하다는 것을 이해해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다