2014-05-08 6 views
2

WordprocessingML을 사용하여 프로그래밍 방식으로 단어 문서를 만들고 텍스트 (w : t) 블록의 줄 바꿈을 유지할 수있는 방법을 찾을 수 없습니다. 에 의해 공간을 해결 cannot preserve space between runs에 답이있다 :XSLT 변환을 사용하여 WordProcessingML의 줄 바꾸기 및 공백 유지

t = new Text() 
{ 
    Text = "your text with spaces ", 
    Space = SpaceProcessingModeValues.Preserve 
}; 

나는 생각하지만, DOCX 파일의 디렉토리 구조를 작성하고 차를 생성하는 소스 XML 파일에 XSLT 변환을 실행하는 자바 스크립트 파일을 사용하여 해당 단어가 사용하는 document.xml 파일 위의 코드에 해당하는 실제 저수준 WordprocessingML 특성이 있는지 확실하지 않습니다.

<w:t xml:space="preserve"> 
    Doesn't work.</w:t> 

<w:t w:space="preserve"> 
     Also, no joy.</w:t> 

는이 작업을 수행 할 수 있습니다, 또는 단락 (w : p)를 여러 위치 : 나는 시도 태그가 필요? 사용 편의성을 위해 원본 xml 파일의 편집자가 단일 텍스트 태그에 원하는 공백을 넣는 것보다 탭이나 단락과 같은 xml 태그를 수동으로 추가하는 것이 더 좋습니다.

답변

0

적절하게 구성된 테스트 docx 파일을 검사하여 찾을 수있는 적절한 속성은 xml : space = "preserve"이지만 줄 바꿈/단락 변경 (단일 공간으로 간주)은 허용되지 않습니다. 탭과 공백은 w : t 블록 안에서 작동하지만 유감스럽게도 소스 코드 xml에 명시적인 단락 태그를 사용해야했습니다. 대답은 할 수 없다는 것입니다 (그럴 가치가없는 관련 문자열 처리가있는 배경을 제외하고).

0

단락 안에 줄 바꿈을 추가하려면 w:br 요소를 사용해야합니다.이 요소는 실행 (w:r) 요소에 삽입해야합니다. 예를 들어, 다음 마크 업에서는 FooBar 사이에 빈 줄이 표시됩니다.

<w:r> 
    <w:t>Foo</w:t> 
    <w:br/> 
    <w:br/> 
    <w:t>Bar</w:t> 
</w:r> 
관련 문제