1

在为我的 MVC3 应用程序设置动态生成 PDF 的方法时,我参考了这篇博文。

在我想将图像添加到 PDF 之前,我一切正常。

这是我在没有图像的情况下正常运行的确切视图:

@model MyApp.Models.Student

@{
    Layout = null;
}


<?xml version="1.0" encoding="UTF-8" ?>
<itext creationdate="2/4/2013 5:49:07 PM" producer="iTextSharpXML">
    <paragraph leading="18.0" font="unknown" size="16.0" align="Center">
        <chunk>Orders in PDF</chunk>
    </paragraph>
    <paragraph leading="18.0" font="unknown" size="10.0" align="Center">
        <chunk>First Name: @Html.DisplayFor(model => model.FirstMidName) </chunk><newline />
        <chunk>Last Name: @Html.DisplayFor(model => model.LastName)</chunk><newline />
    </paragraph>
    <paragraph leading="18.0" font="unknown" size="10.0" align="Default">
    <chunk font="unknown" size="12.0">Orders:</chunk><newline />
    </paragraph>
</itext>

这是我试图用来包含图像的内容:

<?xml version="1.0" encoding="UTF-8" ?>
<itext creationdate="2/4/2013 5:49:07 PM" producer="iTextSharpXML">
    <paragraph leading="18.0" font="unknown" size="16.0" align="Default">
        <chunk>Orders in PDF</chunk>
        <image url="/Content/images/myImage.jpg" plainwidth="194.0" plainheight="202.0" />
    </paragraph>
    <paragraph leading="18.0" font="unknown" size="10.0" align="Default">
        <chunk>First Name: @Html.DisplayFor(model => model.FirstMidName) </chunk><newline />
        <chunk>Last Name: @Html.DisplayFor(model => model.LastName)</chunk><newline />
    </paragraph>
    <paragraph leading="18.0" font="unknown" size="10.0" align="Default">
    <chunk font="unknown" size="12.0">Orders:</chunk><newline />
    </paragraph>
</itext>

尝试使用图像生成 PDF 时,Exception Occurred当应用程序尝试解析 ( textHandler.Parse(xmldoc);) xml 以生成 pdf 时出现错误。错误的内部异常状态:"The network path was not found.\r\n". 我假设我遇到了这个问题,因为我不知道应该如何将图像包含到这个 iTextSharpXML 页面中,并且无法找到有关如何执行此操作的适当文档。

我只想将图像放在 PDF 顶部的中心 - 我应该如何正确格式化它?

更新

如果我将“图像”标签更改为如下所示:

<paragraph leading="18.0" font="unknown" size="16.0" align="Center">
    <chunk>Orders in PDF</chunk>
    <img src="/Content/images/myImage.jpg" />
</paragraph>

我可以生成 PDF,但没有图像出现 - 没有错误,但它看起来与没有图像的第一个 pdf 相同。

4

2 回答 2

1

您需要为图像标签提供绝对网址

<image url="http://myserver/Content/images/myImage.jpg"/>
于 2012-08-23T22:05:20.463 回答
1

我有同样的问题,我能够看到使用此代码设置的图像:

<image url="@Context.Server.MapPath("/Content/images/myImage.jpg")" />  
于 2014-04-14T19:46:18.017 回答