无法找到部分路径错误IIS Express - C:\ Program Files(x86)\ IIS Express \ Image \ QrCode.jpg

时间:2016-04-13 10:17:09

标签: c# pdf iis itextsharp

我正在尝试将aspx页面保存为PDF。 它包含QR码(作为图像)和一些文本。我使用iTextSharp和QRCode库作为nuget。 Visual Studio 2012.

我的问题是,当我运行它时,我得到一个错误(当它点击“pdfDoc.Close”时)它说无法找到路径的一部分“C:\ Program Files(x86)\ IIS Express \ Image \ QrCode.jpg。“ 我正在将这个翻译成瑞典语,所以我认为这是正确的。 我将QR图像本地保存在项目中名为Image的文件夹中。但它希望它在IIS Express \ Image中。这是为什么? 正在保存PDF,但仅保存文本。

以下是我用来创建,保存和使用QR-Image的代码。

            QRCodeEncoder encoder = new QRCodeEncoder();
            Bitmap img = encoder.Encode(objectList[95].ToString());

img.Save(@"C:\Users\My name\Documents\visual studio 2012\Projects\EmptyQR\EmptyQR\Image\QrCode.jpg", ImageFormat.Jpeg);
            QRImage.ImageUrl = @"~/Image/QrCode.jpg";

这是我用来保存为PDF的代码。 ( 文件夹“Files”位于我的项目中。)

   protected void btnExport_Click(object sender, EventArgs e)
    {
        FileStream file = new FileStream(Server.MapPath("~/Files/") + "Test.PDF", FileMode.Create, System.IO.FileAccess.Write);
        StringWriter sw = new StringWriter();
        HtmlTextWriter hw = new HtmlTextWriter(sw);
        Panel1.RenderControl(hw);
        StringReader sr = new StringReader(sw.ToString());
        Document pdfDoc = new Document(PageSize.A4, 10f, 10f, 100f, 0f);
        HTMLWorker htmlparser = new HTMLWorker(pdfDoc);
        MemoryStream ms = new MemoryStream();
        PdfWriter.GetInstance(pdfDoc, file);
        pdfDoc.Open();
        htmlparser.Parse(sr);
        pdfDoc.Close();
        file.Close();
    }

在这里您可以看到HTML代码。

  <form id="form1" runat="server">
    <asp:Panel ID="Panel1" runat="server">

我必须在这里有这个空间,否则上面的代码就不会显示。

        <div id="qr">
            <div class="qrImage">
                <asp:Image runat="server" ID="QRImage" />
            </div>
            <div class="information">
                <h1>Real Estate</h1>
                <p class="productName prodInfo">RL-B7-103</p>
                <p class="prodInfo">Brandagsventilator, elektronisk styrd</p>
                <p class="prodInfo">BRA 2-B (Mtrl, center, uh, detaljmåleri)</p>
                <p class="prodInfo">Takplan</p>
            </div>

        </div>
    </asp:Panel>
    <asp:Button ID="btnExport" runat="server" Text="Export"
        OnClick="btnExport_Click" />


</form>

0 个答案:

没有答案