2016-09-26 3 views
0

이 질문은이 question과 관련이 있습니다.Word에서 내 셰이프 뒤에 빈 줄이 나타나는 이유는 무엇입니까?

데이터베이스의 데이터에서 Word 문서를 동적으로 생성하고 있습니다. 세대에서 나는 섹션의 첫 번째 페이지에 섹션의 다른 페이지보다 다른 상위 여백이 있어야합니다. 잘 설명하기에는 너무 오래 걸릴 수도 있기 때문에 다른 마진을 사용하여 새로운 섹션을 만들 수는 없습니다.

내 문제를 해결하려면 테두리가없고 내 여백을 원했던 높이 인 채우기 (보이지 않음)가없는 모양 (직사각형)을 만들 것이라고 생각했습니다. 나는 그것을 절대적으로 (0,0)에 놓을 것이다. 또한 페이지의 본문에있는 텍스트를 아래로 밀어 넣을 수 있도록 wrapTopAndBottom으로 만들 것입니다. 이것은 하나의 작은 문제를 제외하고는 효과가 있습니다.

enter image description here

내 모양 직후 큰 빈 영역이 볼 수 있듯이. 실제 빈 줄이 있습니다. 이 선에서 텍스트를 삽입 한 선을 더 잘 볼 수 있습니다.

enter image description here

내가 말씀 아카이브의 헤더 XML 파일을보고, 그 라인은 존재하지 않습니다. 나는 그들이 어디서 왔는지, 어떻게 제거 할 지 모르겠습니다. Word를 사용하여 수동으로 제거 할 수 있지만 파일을 다시 생성 할 때마다 다시 넣습니다. 왜 이런 일이 일어나고 있는지 그리고 어떻게 돌아 다니는지 누군가가 알면 도움을 주시면 고맙겠습니다.

감사합니다.

+1

스크린 샷과 마찬가지로 진행 상황을 알려주지 않습니다. 이 문서를 생성하는 코드를 공유 할 수 있습니까? (작은 재현 가능한 샘플을 만드십시오) Word 문서에 대한 링크를 추가 할 수 있습니까? 일반적으로 Word에서 원하는 레이아웃/서식으로 문서를 만들고 Open XML SDK에 포함 된 문서 반사판을 사용하여 해당 문서를 생성 할 C# 코드를 생성하는 것이 좋습니다. –

답변

0

나는 이것을 알아 냈습니다.

죄송합니다. 여기에 코드를 게시 할 수 없습니다. 먼저 C#을 사용하지 않고 PHP를 사용하고 있습니다. 둘째, 머리글이 어떻게 생성되는지 보여주기 위해 게시해야하는 코드의 양은 이와 같은 포럼에서 금지되어 있습니다. 셋째, 회사 코드를 게시 할 수는 없습니다.

어쨌든 일단 내가 본 것은 문제였습니다. 머리말 안에 여러 개의 절대적으로 배치 된 객체 (도형, 텍스트, 이미지 등)를 배치합니다. 이러한 객체를 생성하는 클래스에서 각각은 <w:p> 요소 안에 배치되었습니다. 예를 들어, 이러한 객체가 3 개있는 경우 XML은 다음과 같이 보입니다.

<hdr> 
    <p>Some Object</p> 
    <p>Some Object</p> 
    <p>Some Object</p> 
</hdr> 

문제는 <p> 내부 각 개체 절대적 위치에도 <p> 소자 자체가 해당 광고에 대한 광고 공간을 생성한다는 것이다. 따라서 위의 머리글에는 3 개의 빈 줄이 있습니다. 공백 라인은 헤더의 여백을 내리고 페이지의 내용을 강제로 없애기 때문에 헤더에 6 또는 7 개의 객체가있는 경우 문제가됩니다. 이것은 바람직하지 않은 행동이었습니다.

해결책은 간단합니다. 절대적으로 배치 된 모든 객체는 동일한 <p> 요소에 배치 할 수 있습니다. 이렇게하면 얼마나 많은 객체가 있더라도 헤더에 빈 줄이 하나만 남습니다.

관련 문제