2

C#でpdfファイルを作成したい。PDFファイルには、テキストファイルと画像が含まれています。実行時にそのテキスト ファイルと画像を配置し、配置後に .pdf ファイルとして保存したいと考えています。私を助けてください。

前もって感謝します。

4

8 に答える 8

2

試してみてください:http://itextpdf.com/

あなたが説明した目的のためにそれを使用する方法の例がたくさんあります。

于 2012-04-17T07:26:35.207 に答える
1

これを試して、

pdfconverter クラスを使用するには、wnvhtmlconvert.dll をダウンロードする必要があります。

--html側

  <table id="tbl" runat="server"  style="width: 940px;" cellpadding="0" cellspacing="0" border="0">
                <tr id="tr" runat="server">
                    <td id="td" runat="server" align="center" valign="top"></td>
                </tr>
            </table>

--コード側

 Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Web.UI.HtmlControls
    Imports System.IO
    Imports System.Collections.Generic
    Imports System.Drawing

    Public Sub ExportQuickScToPDF()
        Dim stringWrite As New System.IO.StringWriter()
        Dim htmlWrite As System.Web.UI.HtmlTextWriter = New HtmlTextWriter(stringWrite)
        Dim pdfByte As [Byte]() = Nothing
        Dim strPageBreak As String = "<br style=""page-break-before: always"" />"
        Dim lblPageBreak As New Label
        Dim lbltext As New Label
        lblPageBreak.Text = strPageBreak

        'add image 
        Dim imgqsc As New System.Web.UI.WebControls.Image
        imgqsc.ImageUrl = "path"
        td.Controls.Add(imgqsc)
        tbl.RenderControl(htmlWrite)
        'add text
        lbltext.Text = "text"
        lbltext.RenderControl(htmlWrite)
        'add page break
        lblPageBreak.Text = "text"
        lblPageBreak.RenderControl(htmlWrite)

        Dim objPdf As New PdfConverter()
objPdf.LicenseKey = "license key with dll"
        objPdf.PdfFooterOptions.ShowPageNumber = False
        objPdf.PdfFooterOptions.FooterTextFontSize = 10
        objPdf.PdfDocumentOptions.ShowHeader = True
        objPdf.PdfDocumentOptions.ShowFooter = False
        objPdf.PdfDocumentOptions.EmbedFonts = True
        objPdf.PdfDocumentOptions.LiveUrlsEnabled = True
        objPdf.RightToLeftEnabled = False
        objPdf.PdfSecurityOptions.CanPrint = True
        objPdf.PdfSecurityOptions.CanEditContent = True
        objPdf.PdfSecurityOptions.UserPassword = ""
        objPdf.PdfDocumentOptions.PdfPageOrientation = PDFPageOrientation.Landscape
        objPdf.PdfDocumentInfo.CreatedDate = DateTime.Now
        objPdf.PdfDocumentInfo.AuthorName = ""

        pdfByte = objPdf.GetPdfBytesFromHtmlString(stringWrite.ToString())

        Session("pdfByte") = pdfByte
    End Sub

そのdllの参照を追加し、コードにインポートする必要があります

Imports Winnovative.WnvHtmlConvert
于 2012-04-17T10:10:15.207 に答える
0

iTextSharpを使用できます。他にもいくつかのライブラリがあります。ここをクリック。

于 2012-04-17T07:30:40.723 に答える
0

PDFを作成するには、「iText」ライブラリを使用します。これは開いており、非常に使いやすいです。ここからiTextをダウンロードできます。

于 2012-04-17T07:30:40.737 に答える
0

私もiTextに投票します:)かなり簡単で快適に始めることができます:

    string pdfFilename = @"c:\temp\test.pdf";
    string imageFilename = @"C:\map.jpg";

    // Create PDF writer, document and image to put
    iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(imageFilename);
    Document doc = new Document();
    PdfWriter pdfW = PdfWriter.GetInstance(doc, new FileStream(pdfFilename, FileMode.Create));

    // Open created PDF and insert image to it
    doc.Open();
    doc.Add(image);
    doc.Close();
于 2012-04-17T07:32:54.023 に答える
-1

最初に参照を取得してから、このコードを使用してみてください

using System.Runtime.InteropServices;
[DllImport("shell32.dll")]
public static extern int ShellExecute(int hWnd,
string lpszOp, string lpszFile, string lpszParams, string lpszDir,int FsShowCmd);
ShellExecute(0, "OPEN", args[0] + ".pdf", null, null, 0);

または、このsharppdfまたはこのitexsharpを使用してください

于 2012-04-17T07:31:35.003 に答える