我想转换从图像(如JPG或PNG)为PDF。
我已经签出ImageMagickNET ,但它太复杂了我的需求。
还有哪些其他的.NET解决方案或代码中有用于将图像转换为PDF?
我想转换从图像(如JPG或PNG)为PDF。
我已经签出ImageMagickNET ,但它太复杂了我的需求。
还有哪些其他的.NET解决方案或代码中有用于将图像转换为PDF?
iTextSharp的确实它非常干净而且是开源的。 此外,它有一个非常好的伴随书的作者 ,我建议,如果你最终做更有趣的事情像管理形式。 对于正常使用,则对邮件列表和新闻组中如何做共同的东西,样品丰富的资源。
编辑:在提到@奇拉格的评论 , @ Darin的答案有代码,肯定与当前版本的编译。
实例:
public static void ImagesToPdf(string[] imagepaths, string pdfpath)
{
using(var doc = new iTextSharp.text.Document())
{
iTextSharp.text.pdf.PdfWriter.GetInstance(doc, new FileStream(pdfpath, FileMode.Create));
doc.Open();
foreach (var item in imagepaths)
{
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(item);
doc.Add(image);
}
}
}
易与iTextSharp的 :
class Program
{
static void Main(string[] args)
{
Document document = new Document();
using (var stream = new FileStream("test.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
{
PdfWriter.GetInstance(document, stream);
document.Open();
using (var imageStream = new FileStream("test.jpg", FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
var image = Image.GetInstance(imageStream);
document.Add(image);
}
document.Close();
}
}
}
一,我们已经有很大的运气是PDFSharp(我们使用它为TIFF和文本转换为PDF数百每天医疗报销)。
http://pdfsharp.com/PDFsharp/
这样的任务可以帮助轻松完成Docotic.Pdf库 。
下面是从给定的图像创建PDF(不仅是JPG格式,实际上)的例子:
public static void imagesToPdf(string[] images, string pdfName)
{
using (PdfDocument pdf = new PdfDocument())
{
for (int i = 0; i < images.Length; i++)
{
if (i > 0)
pdf.AddPage();
PdfPage page = pdf.Pages[i];
string imagePath = images[i];
PdfImage pdfImage = pdf.AddImage(imagePath);
page.Width = pdfImage.Width;
page.Height = pdfImage.Height;
page.Canvas.DrawImage(pdfImage, 0, 0);
}
pdf.Save(pdfName);
}
}
免责声明:我对图书馆的供应商合作。
另一个工作代码,试试吧
public void ImagesToPdf(string[] imagepaths, string pdfpath)
{
iTextSharp.text.Rectangle pageSize = null;
using (var srcImage = new Bitmap(imagepaths[0].ToString()))
{
pageSize = new iTextSharp.text.Rectangle(0, 0, srcImage.Width, srcImage.Height);
}
using (var ms = new MemoryStream())
{
var document = new iTextSharp.text.Document(pageSize, 0, 0, 0, 0);
iTextSharp.text.pdf.PdfWriter.GetInstance(document, ms).SetFullCompression();
document.Open();
var image = iTextSharp.text.Image.GetInstance(imagepaths[0].ToString());
document.Add(image);
document.Close();
File.WriteAllBytes(pdfpath+"cheque.pdf", ms.ToArray());
}
}
不知道,如果你正在寻找的只是自由/开源解决方案或考虑商业的为好。 但是,如果你包括商业解决方案,有一个名为EasyPDF SDK工具包,它提供了图像(加上一些其他的文件类型)转换为PDF的API。 它支持C#和可以在这里找到:
http://www.pdfonline.com/
C#代码将如下所示:
Printer oPrinter = new Printer();
ImagePrintJob oPrintJob = oPrinter.ImagePrintJob;
oPrintJob.PrintOut(imageFile, pdfFile);
是完全透明的,我应该放弃,我做EasyPDF SDK(因此我把手)的制造商合作,所以这个建议是不是没有一些个人偏见:)但是随时如果你有兴趣检查出的EVAL版本。 干杯!
许多比较工具在那里。 一个我用的是PrimoPDF(FREE) http://www.primopdf.com/你去打印的文件,你打印到PDF格式到您的驱动器。 适用于Windows