тАЬрдкреНрд░рд┐рдВрдЯ рд╕реНрдХреНрд░реАрди рдХреБрдВрдЬреА рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдПрдХ рдЫрд╡рд┐ рдХреЗ рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рд╕реЗ рдЖрд╕рд╛рди рдХреНрдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? тАЭрдЖрдк рдкреВрдЫрддреЗ рд╣реИрдВред рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореИрдВрдиреЗ рдкреАрдбреАрдПрдл рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдкреНрд░рдкрддреНрд░реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдХрд╛рдо рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди рд╕рд░рд▓ рдорд▓реНрдЯреА-рдкреЗрдЬ рдирдВрдмрд░ рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рднреА, рд╕рднреА рдкреАрдбреАрдПрдл рдЬрдирд░реЗрдЯрд░ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирдХрд▓ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдЗрддрдирд╛ рд╕рдордп рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВ рдПрдХ рдРрд╕реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдпрд╛ рдерд╛ рдЬрд┐рд╕рдХрд╛ рдЧреНрд░рд╛рд╣рдХ рдкреАрдПрдирдЬреА рдХреЗ рд▓рд┐рдП рдкреАрдбреАрдПрдл рдорд╛рд░реНрдХреЗрдЯрд┐рдВрдЧ рдорд╛рд╕реНрдЯрд░рдкреАрд╕ рдореЗрдВ рд╕рд╣реЗрдЬреЗ рдЧрдП рдЕрдкрдиреЗ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХ рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред рдмрд╣реБрдд рдордирд╛рдиреЗ рдФрд░ рдкреНрд░рддрд┐рд╡рд╛рдж рдХреЗ рдмрд╛рдж, рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдЬрдЯ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рд╕реНрддреА .NET рдШрдЯрдХ рдЦрд░реАрджрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред
рдпрд╣ рдЧреНрд░рд╛рд╣рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рд╛ рдФрд░, рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдПрдХ рдЕрдЪреНрдЫреА рдЕрдВрдЧреНрд░реЗрдЬреА-рднрд╛рд╖реА, рдЕрдВрдЧреНрд░реЗрдЬреА-рд▓реЗрдЦрди рд╕рд╣рд╛рдпрддрд╛ рд╕реЗрд╡рд╛ (рд╣рд┐рдВрджреБрд╕реНрддрд╛рди рдкреНрд░рд╛рдпрджреНрд╡реАрдк рд╕реЗ рдирд╣реАрдВ) рдХреЗ рд╕рд╛рде:
рдкреАрдбреАрдПрдл рдХрдирд╡рд░реНрдЯрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ
рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдХреА рдРрд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЧрдпрд╛:
- рдПрдкреАрдЖрдИ рдХреА рд╕рд╛рджрдЧреА, рдлреЛрдВрдЯ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЬрд┐рд╕рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдлреЛрдВрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд▓рд╛рдкрддрд╛ рд╕рд┐рд╕реНрдЯрдо рдлрд╝реЙрдиреНрдЯ рдпрд╛ рд▓рд┐рдВрдХ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ)
- TIFF, PNG, JPEG, BMP рд╕реНрд╡рд░реВрдкреЛрдВ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛
- рдПрдХ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рдЕрдВрджрд░ рдкрд╛рд░рджрд░реНрд╢реА рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди
- рд░рдВрдЧ рдорд╛рд╕реНрдХ рд╕рдорд░реНрдерди
- рдПрд╢рд┐рдпрд╛рдИ рдлрд╝реЙрдиреНрдЯ рд╕рдорд░реНрдерди
- рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рд╛рде рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛)
- рд╡рд┐рднрд┐рдиреНрди рд╕рдореНрдорд┐рд╢реНрд░рдг рдореЛрдб
- рд╡рд┐рднрд┐рдиреНрди рдЯрд╛рдЗрд▓рд┐рдВрдЧ рдкреИрдЯрд░реНрди
- рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди RGB, CMYK, Grey, DeviceN
- Adobe Illustrator рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рд╕рдореВрд╣
рдХрдИ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рдж, рдЦреЛрдЬ рдЗрдВрдЬрди рдиреЗ рдЙрдкрдпреБрдХреНрдд .NET рдШрдЯрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рдореВрд╣ рд▓реМрдЯрд╛рдпрд╛:
ABCpdf | 6.1.1.5 |
Adobe Acrobat (Interop.Acrobat) | рдПрдбреЛрдм рдПрдХреНрд░реЛрдмреИрдЯ 10.0 рдЯрд╛рдЗрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА |
Apitron.PDF.Rasterizer | 3.0.1.0 |
O2S.Components.PDFRender4NET | 4.5.1.0 |
PDFLibNET | |
PDFSharp | 1.31.1789.0 |
SautinSoft.PdfFocus | 2.2.2.2 |
TallComponents.PDF.Rasterizer | 3.0.91.0 |
рдЯреЗрд╕реНрдЯ рд╢реБрд░реВ
рдкрд░реАрдХреНрд╖рдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рд┐рдВрдЧрд▓-рдкреЗрдЬ рдкреАрдбреАрдПрдл рдлрд╛рдЗрд▓ 3BigPreview.pdf рдХреЛ рдЪреБрдирд╛ рдЧрдпрд╛ (рдПрдбреЛрдм рдХреА рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛)ред рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХ рддрддреНрд╡ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬреЛ рдкреАрдбреАрдПрдл рдЧреНрд░рд╛рдлрд┐рдХ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдХреЗ рдПрдХ рдШрдЯрдХ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╣реИрдВред
ABCPDF
64-рдмрд┐рдЯ рдорд╢реАрди рдкрд░ рдЗрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЙрдиреНрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рдерд╛, рдХреЗрд╡рд▓ AnyCPU рд╕реЗ x86 рдХреЗ рд▓рд┐рдП рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЛ рдмрджрд▓рдХрд░, рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╣реА рдЫрд╡рд┐ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╕реЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рд╕рдорд╕реНрдпрд╛ рдЙрддреНрдкрдиреНрди рд╣реБрдИред 612 x 792 рдкрд┐рдХреНрд╕реЗрд▓ рдХреЗ рд╕рд╣реА рдЖрдХрд╛рд░ рдХреА рдПрдХ рддрд╕реНрд╡реАрд░ рдХреЗрд╡рд▓ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдкрд░рд┐рдгрд╛рдореА рдЫрд╡рд┐ рдХреЗ 72 рдбреАрдкреАрдЖрдИ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХреА рдЧрдИ рдереА, рдЬреЛ рдЕрдЬреАрдм рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдШрдЯрдХ 96dpi (Win7 рдХреЗ рд▓рд┐рдП) рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред рдкрд╛рддреНрд░реЛрдВ рдХреЗ рд╕рд╣реА рдкреНрд░рджрд░реНрд╢рди рд╕реЗ
рдХрд┐рдВрд╕реЛрдХреВ рд╢реЛрд░реА рдкреНрд░рд╕рдиреНрди рд╣реБрдПред рдХреБрдЫ рдкрддреНрд░ рдмрд╛рдХреА рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЙрдЬреНрдЬрд╡рд▓ рджрд┐рдЦрддреЗ рд╣реИрдВ, рдЬреЛ рдПрдВрдЯреАрдПрд▓рд┐рдпрд╛рд╕рд┐рдВрдЧ рдХреЗ рдЙрдЪрд┐рдд рдЙрдкрдпреЛрдЧ рдХрд╛ рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ 100% рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред
ABCpdf рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { FileStream fs = new FileStream(pdfInputPath, FileMode.Open); Doc document = new Doc(); document.Read(fs); document.Rendering.DotsPerInch = 72; document.Rendering.DrawAnnotations = true; document.Rendering.AntiAliasImages = true; document.Rect.String = document.CropBox.String; document.Rendering.Save(Path.ChangeExtension(Path.Combine(imageOutputPath ,imageName), imageFormat.ToString())); }
рдкрд░рд┐рдгрд╛рдо:

рдПрдбреЛрдм рдПрдХреНрд░реЛрдмреИрдЯ 10.0 рдЯрд╛рдЗрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА
рдпрд╣ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рджреЗрд╢реА рдПрдбреЛрдм рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкрд╕рдВрджреАрджрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рд▓реЗрдХрд┐рди рдХреЙрдо рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬреЛ рд╣рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рдереЗ, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдЙрддреНрдкрд╛рдж рдХреЗ рд╕реНрдерд╛рдкрд┐рдд рдкреНрд░реЛ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдПрдбреЛрдм рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { CAcroPDDoc pdfDoc = (CAcroPDDoc) Interaction.CreateObject("AcroExch.PDDoc", ""); pdfDoc.Open(pdfInputPath); CAcroPDPage pdfPage = (CAcroPDPage) pdfDoc.AcquirePage(0); CAcroPoint pdfPoint = (CAcroPoint) pdfPage.GetSize(); CAcroRect pdfRect = (CAcroRect) Interaction.CreateObject("AcroExch.Rect", ""); pdfRect.Left = pdfRect.Top = 0; pdfRect.right = pdfPoint.x; pdfRect.bottom = pdfPoint.y; pdfPage.CopyToClipboard(pdfRect, 0, 0, 100); IDataObject clipboardData = Clipboard.GetDataObject(); if (clipboardData.GetDataPresent(DataFormats.Bitmap)) { using(Bitmap pdfBitmap = (Bitmap) clipboardData.GetData(DataFormats.Bitmap)) { pdfBitmap.Save(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), imageFormat); } } pdfDoc.Close(); Marshal.ReleaseComObject(pdfPage); Marshal.ReleaseComObject(pdfRect); Marshal.ReleaseComObject(pdfDoc); Marshal.ReleaseComObject(pdfPoint); }
рдкрд░рд┐рдгрд╛рдо:

Apitron.PDF.Rasterizer .NET рдХреЗ рд▓рд┐рдП
рдШрдЯрдХ рдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдПрдкреАрдЖрдИ, рдлреЛрдВрдЯ рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рдПрдиреЛрдЯреЗрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЫрд╡рд┐ рд╕реНрдкрд╖реНрдЯ рджрд┐рдЦрддреА рд╣реИред рдореВрд▓ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ рд╕рднреА рддрддреНрд╡ рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╕рдордп рд╕рднреА рдЖрда рдХреЛрд░ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рдорд╢реАрди рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдереЗ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ рдЬреЛ рд░реИрдо рдФрд░ рдХрд╛рд░реНрдп рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХрд░рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
Apitron рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { FileStream fs = new FileStream(pdfInputPath, FileMode.Open); Document doc = new Apitron.PDF.Rasterizer.Document(fs); RenderingSettings option = new RenderingSettings(); option.DrawAnotations = true; doc.Pages[0].Render((int) doc.Pages[0].Width, (int) doc.Pages[0].Height, option).Save(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), imageFormat); }
рдкрд░рд┐рдгрд╛рдо:

O2S.Components.PDFRender4NET
рд░реЛрдорд╛рдирд┐рдпрд╛рдИ рдШрдЯрдХ рдиреЗ рд╕рдВрддреЛрд╖рдЬрдирдХ рд░реВрдк рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдкреВрд░рд╛ рдХрд┐рдпрд╛ред рд╕рднреА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рддрддреНрд╡ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рд╣реЗрдЬреЗ рдирд╣реАрдВ рдЧрдП рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд░рд┐рдгрд╛рдореА рдлрд╝рд╛рдЗрд▓ рд╕реЗ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╕рднреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рддрддреНрд╡ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рдбреНрд░рд╛рдЗрдВрдЧ рдкрд╛рда рдХреЗ рд╕рд╛рде рд╕реНрдкрд╖реНрдЯ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред
O2S рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { PDFFile pdfFile = O2S.Components.PDFRender4NET.PDFFile.Open(pdfInputPath); using (Bitmap pageImage = pdfFile.GetPageImage(0, 300)) { pageImage.Save(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), imageFormat); } }
рдкрд░рд┐рдгрд╛рдо:

xPDF рдЖрд╡рд░рдг рд▓рд╛рдЗрдмреНрд░реЗрд░реА (PDFLibNET)
рдЯреЗрд╕реНрдЯ рдХреЗрд╕ рдЬрдирд░реЗрд╢рди рд╡рд┐рдлрд▓ред рдЫрд╡рд┐ рдзреБрдВрдзрд▓реА рджрд┐рдЦрддреА рд╣реИ, рдкрд╛рда рдкрдардиреАрдп рдирд╣реАрдВ рд╣реИред рдЬрдм рдПрдХ рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред
PDFLibNET рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { PDFWrapper pdfWrapper = new PDFWrapper(); pdfWrapper.LoadPDF(pdfInputPath); pdfWrapper.ExportJpg(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), 10); pdfWrapper.Dispose(); }
рдкрд░рд┐рдгрд╛рдо:

PDFSharp (рдШреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЕрдиреНрдп рд░реИрдкрд░)
PDFSharp, рдкреНрд░рд╕рд┐рджреНрдз рдШреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреВрд▓ рдХреЗ рдЕрдиреНрдп рд░реИрдкрд░реЛрдВ рдХреА рддрд░рд╣ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Gouda, GhostscriptSharp) рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдФрд░ рд╣рдореЗрд╢рд╛ рдЕрдиреБрдорд╛рдирд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдХрдИ рдШрдВрдЯреЗ рдмрд┐рддрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдореИрдВ рдХреЗрд╡рд▓ рдЪрд┐рддреНрд░ рд╣реА рдирд┐рдХрд╛рд▓ рд╕рдХрддрд╛ рдерд╛, рдкреВрд░реЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдЪрд┐рддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛ред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдирдП рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдорд╛рдиреВрдВрдЧрд╛ред
рдЖрдк рдпрд╣рд╛рдВ рд╕рднреА рдХреЗ рдкрд╕рдВрджреАрджрд╛ iTextSharp рдХреЛ рднреА рдиреЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред
SautinSoft рджреНрд╡рд╛рд░рд╛ PdfFocus
рдореЗрд░реА рд╕рдореАрдХреНрд╖рд╛ рдиреЗ рдШрд░реЗрд▓реВ рдШрдЯрдХ рдХреЛ рднреА рдкрдХрдбрд╝рд╛ред рд▓реЗрдХрд┐рди, рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╡рд╣ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдкрд░реАрдХреНрд╖рдг рдлрд╝рд╛рдЗрд▓ рдкрд░, рдЙрд╕рдиреЗ NRE рддреНрд░реБрдЯрд┐ рджреАред рд▓реЗрдХрд┐рди, рдЕрдиреНрдп рдлрд╛рдЗрд▓реЛрдВ рдкрд░, рдЙрдиреНрд╣реЛрдВрдиреЗ рдЦреБрдж рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рджрд┐рдЦрд╛рдпрд╛ред
(рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП: "рдореИрдХреНрд╕рд┐рдо, рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЙрддреНрдХреГрд╖реНрдЯ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╣реИ рдФрд░ рдпрд╣ рдЫреЛрдЯреА рд╕реА рдмрд╛рдд рдЬрд▓реНрджреА рддрдп рд╣реЛ рдЬрд╛рдПрдЧреАред"
SautinSoft рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { PdfFocus pdfFocus = new PdfFocus(); pdfFocus.OpenPdf(pdfInputPath); pdfFocus.ImageOptions.Dpi = 96; pdfFocus.ImageOptions.ImageFormat = imageFormat; using (Image bitmap = pdfFocus.ToDrawingImage(1)) { bitmap.Save(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), imageFormat); } pdfFocus.ClosePdf(); }
TallComponents.PDF.Rasterizer
рдбрдЪ рдШрдЯрдХ рдиреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд┐рдпрд╛ред рд╡рд┐рд╢рд┐рд╖реНрдЯ API рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдмреБрдирд┐рдпрд╛рджреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЬреНрдЮрд╛рди рджреНрд╡рд╛рд░рд╛ рдСрдлрд╕реЗрдЯ рдХреА рдЧрдИ рдереАред рдбреНрд░рд╛рдЗрдВрдЧ рдЯреЗрдХреНрд╕реНрдЯ рдХреЗ рд╕рд╛рде рдереЛрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред
TallCompords рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛:
public static void ConvertPDFToImage(string pdfInputPath, string imageOutputPath, string imageName, ImageFormat imageFormat) { FileStream fs = new FileStream(pdfInputPath, FileMode.Open); Document document = new Document(fs); Page page = document.Pages[0]; RenderSettings renderSettings = new RenderSettings(); renderSettings.GdiSettings.WorkAroundImageTransparencyPrintSize = true; using (Bitmap bitmap = new Bitmap((int) page.Width, (int) page.Height)) { using (Graphics graphics = Graphics.FromImage(bitmap)) { graphics.SmoothingMode = SmoothingMode.AntiAlias; graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.Clear(Color.White); page.Draw(graphics, renderSettings); } bitmap.Save(Path.ChangeExtension(Path.Combine(imageOutputPath, imageName), imageFormat.ToString()), imageFormat); } }
рдкрд░рд┐рдгрд╛рдо:

рдкрд░рд┐рдгрд╛рдо
рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреЛ рдмреАрдПрдордкреА, рдЬреЗрдкреАрдИрдЬреА, рдЯреАрдЖрдИрдПрдлрдПрдл рдореЗрдВ рд╕рд╣реЗрдЬрдирд╛ рдПрдХ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИред рдЖрдк рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдФрд░ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдФрд░ рдЙрдирдХреЗ рд╢реЗрдпрд░рд╡реЗрдпрд░ рд╕рдордХрдХреНрд╖реЛрдВ рдХреЛ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдореЗрдВ рдЖрдк рддреГрддреАрдп-рдкрдХреНрд╖ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдШрдЯрдХреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкреНрд░рд▓реЗрдЦрди, рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдФрд░ рдХреАрдорддреЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдврд╝рдирд╛, рдореИрдВрдиреЗ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдШрдЯрдХ рдЪреБрдирд╛ред рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдПрдХ рд╣реА рд╕реНрддрд░ рдкрд░ рд╣реИрдВ, рд╕рдВрднрд╡рддрдГ рдПрдХ рдкреАрдбреАрдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдкрдврд╝рдиреЗ рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЗ рдХрд╛рд░рдгред рдЪреБрдирддреЗ рд╕рдордп, рдореИрдВрдиреЗ рдореЛрдмрд╛рдЗрд▓ рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрд╛, рдХреНрдпреЛрдВрдХрд┐ GDI + рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕рднреА рдШрдЯрдХ рдПрдВрдбреНрд░реЙрдЗрдб рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рддрд╣рдд рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ Mono.Xamarin рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реИрдВред