我一直在努力理解和调整一些创建PDF的C#代码。我正在了解的实现方式采用一个XSL将近似HTML格式的文本转换为XSL-FO,然后再将其转换成PDF。
表格中有一张图像,宽度为175像素,我希望它左对齐放置在左上角,并且在100%缩放比例下(即原始大小),在桌面上查看PDF文件时恰好占据175个像素。
我已经获取了中间的XSL-FO,但不知道出了什么问题。
目前,以下XSL-FO生成的PDF中,图像(logo-175x45.jpg)左对齐显示得很好,但在屏幕上需要接近243个像素。
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="A4" page-width="8.5in" page-height="11in" margin-top="0.60in" margin-bottom="0.50in" margin-left="1in" margin-right="1in">
<fo:region-body margin="0in" />
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="A4">
<fo:flow flow-name="xsl-region-body">
<fo:block font-size=".75em">
<fo:table table-layout="fixed">
<fo:table-column column-width="238pt" />
<fo:table-column column-width="180pt" />
<fo:table-body>
<fo:table-row>
<fo:table-cell padding-start="1pt" padding-end="1pt" padding-before="1pt" padding-after="1pt">
<fo:block text-align="start">
<fo:block text-align="start">
<fo:block space-after="12pt">
<fo:external-graphic src="c:\logo-175x45.jpg" width="175px" />
</fo:block>
</fo:block>
</fo:block>
</fo:table-cell>
<fo:table-cell padding-start="1pt" padding-end="1pt" padding-before="1pt" padding-after="1pt">
<fo:block text-align="start">
<fo:block font-family="Arial, Helvetica, sans-serif" font-size="2.5em" font-weight="bold" color="#d9d9d9" text-align="end">INVOICE</fo:block>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:flow>
</fo:page-sequence>
此外,如果您能为我提供相关阅读资源,那将非常好。我对此并不了解,需要帮助。我是一名新手,刚开始学习网页编程。