C#でpdfファイルを作成したい。PDFファイルには、テキストファイルと画像が含まれています。実行時にそのテキスト ファイルと画像を配置し、配置後に .pdf ファイルとして保存したいと考えています。私を助けてください。
前もって感謝します。
C#でpdfファイルを作成したい。PDFファイルには、テキストファイルと画像が含まれています。実行時にそのテキスト ファイルと画像を配置し、配置後に .pdf ファイルとして保存したいと考えています。私を助けてください。
前もって感謝します。
試してみてください:http://itextpdf.com/
あなたが説明した目的のためにそれを使用する方法の例がたくさんあります。
これを試して、
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
iTextSharpを使用できます。他にもいくつかのライブラリがあります。ここをクリック。
PDFを作成するには、「iText」ライブラリを使用します。これは開いており、非常に使いやすいです。ここからiTextをダウンロードできます。
私も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();
最初に参照を取得してから、このコードを使用してみてください
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を使用してください