hgsingla Ответов: 3

Как я могу генерировать pdf-файлы на C#?


Я хочу сгенерировать pdf-файл с помощью C#. Пожалуйста, помогите мне.

Что я уже пробовал:

у меня нет никакого представления о решении. Пожалуйста, дайте мне соответствующий ответ, чтобы решить эту проблему.

3 Ответов

Рейтинг:
27

jimmson

У меня есть хороший опыт работы с PDFsharp и MigraDoc[^].

Это бесплатно, и есть ряд примеров на их сайте и в интернете.

Удачи вам!


Рейтинг:
18

Pete O'Hanlon

Есть два способа сделать это. Первый-изучить спецификацию PDF и использовать ее для построения документов таким образом. Это, однако, глупый способ сделать это.

Второй способ - использовать компонент, который записывает PDF для вас, основываясь на Ваших звонках. Существует ряд коммерческих или бесплатных библиотек генерации PDF, доступных для вас, каждая из которых имеет свои сильные и слабые стороны. Возможно, вы захотите посмотреть на что-то вроде PDFSharp[^] или когда-либо популярный iTextSharp[^].


Рейтинг:
1

Aj@yGohil

попробуйте этот метод для создания 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();
         }
     }