Как я могу генерировать pdf-файлы на C#?
Я хочу сгенерировать pdf-файл с помощью C#. Пожалуйста, помогите мне.
Что я уже пробовал:
у меня нет никакого представления о решении. Пожалуйста, дайте мне соответствующий ответ, чтобы решить эту проблему.
У меня есть хороший опыт работы с PDFsharp и MigraDoc[^].
Это бесплатно, и есть ряд примеров на их сайте и в интернете.
Удачи вам!
Есть два способа сделать это. Первый-изучить спецификацию PDF и использовать ее для построения документов таким образом. Это, однако, глупый способ сделать это.
Второй способ - использовать компонент, который записывает PDF для вас, основываясь на Ваших звонках. Существует ряд коммерческих или бесплатных библиотек генерации PDF, доступных для вас, каждая из которых имеет свои сильные и слабые стороны. Возможно, вы захотите посмотреть на что-то вроде PDFSharp[^] или когда-либо популярный iTextSharp[^].
попробуйте этот метод для создания pdf-файла с помощью c#.
первая установка-пакет iTextSharp после использования этого метода.
protected void GeneratePDF(object sender, System.EventArgs e) { using (System.IO.MemoryStream memoryStream = new System.IO.MemoryStream()) { Document document = new Document(PageSize.A4, 10, 10, 10, 10); PdfWriter writer = PdfWriter.GetInstance(document, memoryStream); document.Open(); Chunk chunk = new Chunk("This is from chunk. "); document.Add(chunk); Phrase phrase = new Phrase("This is from Phrase."); document.Add(phrase); Paragraph para = new Paragraph("This is from paragraph."); document.Add(para); string text = @"you are successfully created PDF file."; Paragraph paragraph = new Paragraph(); paragraph.SpacingBefore = 10; paragraph.SpacingAfter = 10; paragraph.Alignment = Element.ALIGN_LEFT; paragraph.Font = FontFactory.GetFont(FontFactory.HELVETICA, 12f, BaseColor.GREEN); paragraph.Add(text); document.Add(paragraph); document.Close(); byte[] bytes = memoryStream.ToArray(); memoryStream.Close(); Response.Clear(); Response.ContentType = "application/pdf"; string pdfName = "User"; Response.AddHeader("Content-Disposition", "attachment; filename=" + pdfName + ".pdf"); Response.ContentType = "application/pdf"; Response.Buffer = true; Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); Response.BinaryWrite(bytes); Response.End(); Response.Close(); } }