부분적으로 병합하려고하는 두 개의 문서가 있습니다.OpenXML - 문서 병합시 불릿 점이 번호가 매겨진 목록으로 변환됩니다.
은 내가 RTF 콘텐츠 컨트롤 내부에와에 appendChild와 CloneNode (TRUE) (깊은 복제)를 사용하여 문서 B의 다른 sdtContent
에 콘텐츠 컨트롤의 sdtContent
의 모든 자식 요소를 복사 문서 A로부터 일부 부품을 :
foreach (var srcChildElement in sourceDocumentSdtContentBlockNode.ChildElements)
{
targetSdtContentBlock.AppendChild(srcChildElement.CloneNode(true);
}
원본 문서 A의 내용 (목록 항목)이 글 머리 기호로 서식이 지정된 경우 문서 B의 결과에 목록 항목 번호가 매겨집니다.
결과 스타일을 복제 할 때 원본과 같은 이유가 아닌 이유는 무엇입니까? 나는 그것을 조작하지 않을 때 그것의 스타일을 유지할 것이라고 생각했다. 문서 B에는 서식 문제가없는 것으로 보입니다. 글 머리 기호 또는 번호 매기기 목록을 문제없이 수동으로 삽입 할 수 있습니다.
나는 완전히 새로운 단어 문서 두 개를 만들었고 똑같은 일이 발생하기 때문에 기존 파일에 문제가 없다.
업데이트 : 내가 복사 노드의 일부가 아닌 문서 (https://msdn.microsoft.com/en-us/library/office/ee922775(v=office.14).aspx)에 별도의 번호 정의가 있음을 발견 . 노드를 복제 할 때이 정보는 별도의 번호 매기기 정의에 포함되지 않습니다. 노드를 새 문서에 복사하고 번호 매기기 정의에서 번호 매기기 스타일을 유지하도록 지시하는 방법이 있습니까? 다른 옵션은 복제 된 노드에 numPr
요소가 포함되어 있는지 수동으로 확인하고, 그렇다면 정의를 추출하고 (ID를 변경하고 다시 할당하는 것을 포함하여) 요소를 복사하는 덜 복잡한 방법을 선호합니다.)
아이디어가 있으십니까?
덧붙여서 : 나는 (DocumentBuilder 클래스와 함께) 문서를 병합하기 위해 OpenXML PowerTools를 사용하는 것이 좋습니다. PowerTools를 사용하면 휠을 다시 만들 필요가 없습니다. – Patric