Есть программа на WinForms которая в числе прочего формирует небольшой отчет в txt формате. С этим все просто, но возникла необходимость сохранять еще и картинку. Вопрос : можно ли силами c# создать pdf с текстом и изображением, если да то как?
itextsharp
var document = new iTextSharp.text.Document();
Создание документа
using (var writer = PdfWriter.GetInstance(document, new FileStream("result.pdf", FileMode.Create)))
{
document.Open();
// do some work here
document.Close();
writer.Close();
}
Рисование линий
writer.DirectContent.MoveTo(35, 780);
writer.DirectContent.LineTo(430, 780);
Добавление картинки
var logo = iTextSharp.text.Image.GetInstance(new FileStream(@"Resources\logo.jpg", FileMode.Open));
logo.SetAbsolutePosition(440, 758);
writer.DirectContent.AddImage(logo);
Добавление текста
helvetica = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.HELVETICA, 12);
helveticaBase = helvetica.GetCalculatedBaseFont(false);
writer.DirectContent.BeginText();
writer.DirectContent.SetFontAndSize(helveticaBase, 12f);
writer.DirectContent.ShowTextAligned(iTextSharp.text.Element.ALIGN_LEFT, "Hello world!", 35, 766, 0);
writer.DirectContent.EndText();
С помощью других библиотек (iTextSharp Report.NET PDFsharp SharpPDF PDFjet ASP.NET FO PDF PDF Clown) описано здесь
https://habrahabr.ru/post/112707/
Что бы писать через itextsharp в созданном PDF на русском можно сделать так :
var document = new Document(PageSize.A4, 20,20,30,20);
string ttf = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Fonts), "ARIALNBI.TTF");
var baseFont = BaseFont.CreateFont(ttf, BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
var font = new iTextSharp.text.Font(baseFont, iTextSharp.text.Font.DEFAULTSIZE, iTextSharp.text.Font.NORMAL);
using (var writer = PdfWriter.GetInstance(document, new FileStream(path, FileMode.Create)))
{
document.Open();
document.NewPage();
document.Add(new Paragraph("Русский текст",font));
document.Close();
writer.Close();
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Работал работал себе SOAP под IIS 6 на NET 20, и спустя последнюю неделю начал выдавать такую ошибку (для запроса Soap 1
ЗдравствуйтеВ Viewport3D добавляю линию, линия рисуется без проблем, методом из библиотеки 3DTools