рд▓реЗрдЦ рдХреЗ рдмрд╛рдж рд╕реЗ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдореБрдЭреЗ рдПрдХ рдирд┐рдордВрддреНрд░рдг рдорд┐рд▓рд╛, рд╡рд╣ рдХрд╣реАрдВ рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛, рдореИрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдкреАрдбреАрдПрдл рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐: рд╢реБрд▓реНрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдХрдо рд╕рдВрдЦреНрдпрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП .рдиреЗрдЯ рдФрд░ рд░реВрд╕реА рдореЗрдВ рдЙрдирдХреА рдЕрдкрд░реНрдпрд╛рдкреНрдд рдХрд╡рд░реЗрдЬ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ
PDFsharp рдФрд░ MigradDoc рдЬреИрд╕реА рд╢рд╛рдирджрд╛рд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛
рд╣реВрдВредрдЪрд▓реЛ рд╢реБрд░реВ рд╕реЗ рд╣реА рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рд╕реНрд░реЛрдд рдХреЛ
рдпрд╣рд╛рдВ рдпрд╛
рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
рд╣реИрдЕрдм рдЕрдкрдиреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдВрдХ рдЬреЛрдбрд╝реЗрдВ:
using MigraDoc; using PdfSharp; using MigraDoc.DocumentObjectModel; using MigraDoc.Rendering; using PdfSharp.Pdf;
рдПрдХ рдирдпрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдмрдирд╛рдПрдБ
Document document = new Document();
рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдЗрдЧреНрд░рдбреЙрдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд╕реНрд╡рддрдВрддреНрд░ рдЦрдВрдб рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрдкрдирд╛ рдкреНрд░рд╛рд░реВрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдиреБрднрд╛рдЧ рдирд┐рд░реНрдорд╛рдг:
Section section = document.AddSection();
рдЗрд╕ рддрд░рд╣ рдХреЗ рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж,
рдЕрдиреБрднрд╛рдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ - рд╣рдо рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рднрд╛рдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рдЕрдиреБрднрд╛рдЧ рдореЗрдВ
Add, AddParagraph (), AddImage (), AddTable () , рдЖрджрд┐ рдЬреИрд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╣реИрдВ, рд╕рд╛рде рд╣реА
рдкреЗрдЬрд╕реЗрдЯрдЕрдк рд╕реЗрдХреНрд╢рди рдХреЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ
рд╣реИ ред
рд╕реНрд╡рд░реВрдк рдкрд░рд┐рд╡рд░реНрддрди:
section.PageSetup.PageFormat = PageFormat.5;// section.PageSetup.Orientation = Orientation.Portrait;// section.PageSetup.BottomMargin = 10;// section.PageSetup.TopMargin = 10;//
рдРрдб (рдкрд░рдо) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд╛рдирдХрд╛рд░реА рдпрд╛ рддреЛ рдЬреЛрдбрд╝ рджреА рдЬрд╛рддреА рд╣реИ, рдЬрд╣рд╛рдВ
рдкрд░рдо рдПрдХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл (рдкреИрд░рд╛рдЧреНрд░рд╛рдл), рдПрдХ рдЪрд┐рддреНрд░ (рдЫрд╡рд┐), рдПрдХ рддрд╛рд▓рд┐рдХрд╛ (рддрд╛рд▓рд┐рдХрд╛), рдПрдХ рдЪрд╛рд░реНрдЯ (рдЪрд╛рд░реНрдЯ) рдпрд╛ рдПрдХ рдкрд╛рда рдлреНрд░реЗрдо (TextFrame) рд╣реИ
Paragraph paragraph =new Paragraph(); section.Add(paragraph);
рдпрд╛ рдЕрдиреБрднрд╛рдЧ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдмрд╛рдж
Paragraph paragraph = section.AddParagraph();
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░рддреНрдпреЗрдХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рд╛рд░реВрдк (рд╡рд░реНрдЧ рдкреНрд░рд╛рд░реВрдк) рдФрд░ рд╢реИрд▓реА (рд╡рд░реНрдЧ рд╢реИрд▓реА) рд╕реЗрдЯ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИ:
paragraph.Format.Font.Color = Color.FromCmyk(100, 30, 20, 50);
рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрдЪреНрдЫреЗрдж рдХреЗ рд▓рд┐рдП, рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
Text text = new Text("text"); paragraph.AddText("text");// paragraph.AddFormattedText("formatted text", styleName);// paragraph.Add(text);// paragraph.AddBookmark("Bookmark");// paragraph.AddChar('c');// paragraph.AddDateField("10.10.2010");// paragraph.AddFootnote("Footnote");// //
рд╣рдордиреЗ рдЖрдзрд╛рд░ рдПрдХрддреНрд░ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдЕрдм рдпрд╣ рдПрдХ рдкреВрд░реНрдг PDF рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдмрджрд▓рдирд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП PdfDocumentRenderer рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
pdfRenderer = new PdfDocumentRenderer(true, PdfFontEmbedding.Always); pdfRenderer.Document = document; pdfRenderer.RenderDocument(); pdfRenderer.PdfDocument.Save(filePath);
рдЖрдкрдХреЛ рдЙрди рдлреЛрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ рдЬреЛ рдУрдПрд╕ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
DejaVuSansMono.ttf ред рдЖрдк рдЙрдкрд░реЛрдХреНрдд рдлрд╝реЙрдиреНрдЯ рдХреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╣рд▓реЗ рдЙрд╕реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦрдХрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╣реИ:
Uri uri = new Uri(@"file://" + System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location) + @"\DejaVuSansMono.ttf"); XPrivateFontCollection pfc = XPrivateFontCollection.Global; try { pfc.Add(uri, "./#DejaVu Sans Mono"); } catch (Exception) {} pdfRenderer.DocumentRenderer.PrivateFonts = pfc;
рдпрджрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдмрдирд╛рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ
MigraDoc.Rendering.Windows.DocumentPreview ,
MigraDoc рдореЗрдВ рдмрдирд╛рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ
рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рдг, рд╣рдорд╛рд░реА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдЧрд╛ред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЗрд╕реЗ рдлреЙрд░реНрдо рдпрд╛ WPF рд╡рд┐рдВрдбреЛ рдкрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдирд┐рдореНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
Document doc = new Document(); doc = oDocument.Clone(); preview.Ddl = DdlWriter.WriteToString(doc);
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрдирд╛рдП рдЧрдП рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред
рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк
рдХреНрд▓реЛрди () рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдзреНрдпрд╛рди рджреЗрдВ, рдЬреЛ рдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдЗрдЧреНрд░рдбреЛрдХ рдСрдмреНрдЬреЗрдХреНрдЯ (рджрд╕реНрддрд╛рд╡реЗрдЬрд╝, рдЕрдиреБрднрд╛рдЧ, рдкреИрд░рд╛рдЧреНрд░рд╛рдл, рдЖрджрд┐) рдХреЛ рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдпрджрд┐ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдкрд╣рд▓реА рд╡рд╕реНрддреБ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╡рд╣ рднреА рдмрджрд▓ рдЬрд╛рдПрдЧрд╛ рдЬреЛ рдкрд╣рд▓реЗ рдХреЛ рд╕реМрдВрдкрд╛ рдЧрдпрд╛ рдерд╛ред
MigraDoc рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореБрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк
MigraDocPrintDocument рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
MigraDocPrintDocument migraDocPrint = new MigraDocPrintDocument(preview.Renderer)
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рджреЗрдЦрд╛ рдЧрдпрд╛ рдХрд┐ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╕рдордп рдпрд╣ рд╡рд┐рдзрд┐ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИ, рд╕реНрдерд╛рдиреАрдп рдкреНрд░рд┐рдВрдЯрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореБрджреНрд░рдг рд╕рд╛рдорд╛рдиреНрдп рд╣реИред
рдЗрд╕рд▓рд┐рдП, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлреЙрдХреНрд╕рд┐рдЯ рд░реАрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
pdfDocumentRenderer.PdfDocument.Save(@"temp.pdf"); Process.Start(@"Resources\Foxit Reader.exe", @"/p temp.pdf");
рдЕрдВрдд рдореЗрдВ, рдореИрдВ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐
рдЗрд╕ рдкрдж рд╕реЗ рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ
рдмрд╛рдж, рдореИрдВ рдЗрд╕ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдкрд░реНрдпрд╛рдкреНрдд рдЕрд╡рд╕рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╕ рдЧрдпрд╛ред