저는 Apache FOP 빠른 시작을 할 것입니다. 명령 줄에서 svg 요소가 들어있는 간단한 xml 파일을 변환하고 pdf 파일로 변환합니다. 나는 이것을 할 수 있지만, svg에 의해 생성 된 이미지는 잘려나 간다. 나는 XSL-FO & 아파치 FOP에 익숙하지 않지만, w3c 문서의 속성을 확인했다. 이제 불행하게도 더 혼란 스럽습니다. 나는 행운과 함께 다음을 시도 : 폭을 변경 & svg 자체의 높이 속성; 단순 페이지 마스터 요소에서 페이지 폭을 & 페이지 폭을 "자동"으로 설정합니다. margin 속성을 제거합니다. 지역 본문이 기본 크기로 시작한다는 것을 나는 아무것도 보지 못했습니다. 여기 내 콘텐츠가 apache fop으로 잘리지 않도록하려면 어떻게해야합니까?
은 XML입니다 :<chart>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="600" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
<circle cx="100" cy="100" r="40" stroke="black" stroke-width="2" fill="green" />
</svg>
그리고 여기에 XSL의 : 이미지가 중첩 빨간색 & 녹색 원을 표시하도록되어
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<fo:root>
<fo:layout-master-set>
<fo:simple-page-master master-name="A4-portrait"
margin="10">
<fo:region-body/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4-portrait">
<fo:flow flow-name="xsl-region-body">
<fo:block>
<fo:instream-foreign-object xmlns:svg="http://www.w3.org/2000/svg" content-width="600" content-height="300">
<svg:svg>
<xsl:copy-of select="/chart/svg:svg"/>
</svg:svg>
</fo:instream-foreign-object>
</fo:block>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
</xsl:stylesheet>
하지만, 그것은 단지를 보여주는 것 녹색의 왼쪽 상단 모서리. 내가 놓친 블록 요소에 속성이있을 것으로 예상되지만 어느 것이 있는지 모른다. 블록이 100px x 100px 크기로 제한되어있는 것 같습니다.
속성이 누락되었지만 전체 svg 이미지가 제대로 표시되게하려면 어떻게해야합니까? (두 개의 완전한 원이 겹치는 경우)?
감사합니다,
브란트
PS : 나는이 문제를 보여주는 이미지를 보냈을 것입니다,하지만 난 충분히 높은 명성을 가지고 있지 않습니다.
테스트하지 않고 ...이 내용을 봅니다. content-width = "600"content-height = "300" 300 뭐? pts, inches, miles ... –
완전히 기술적 인 것으로, SVG의 높이는 100으로 설정되어 있습니다. 중심점이 100,100에서 시작하여 반경이 40 인 녹색 원이 있습니다. 원의. –