イメージ(jpgやpngなど)からPDFに変換したいと思っています。JPG to PDF Convertor in C#
私はImageMagickNETをチェックアウトしましたが、私のニーズにはそれほど複雑すぎます。
画像をPDFに変換するための他の.NETソリューションやコードはありますか?
イメージ(jpgやpngなど)からPDFに変換したいと思っています。JPG to PDF Convertor in C#
私はImageMagickNETをチェックアウトしましたが、私のニーズにはそれほど複雑すぎます。
画像をPDFに変換するための他の.NETソリューションやコードはありますか?
iTextSharpかなりきれいでオープンソースです。また、a very good accompanying book by the authorがあります。あなたがフォーム管理のようなもっと面白いことをやり遂げるなら、私はこれをお勧めします。通常の使用のために、メーリングリストやニュースグループには、よくあることを行うためのサンプルがたくさんあります。
EDIT:@Chirag's commentのように、@Darin's answerには現在のバージョンで確実にコンパイルされるコードがあります。
使用例:
iTextSharpと
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はオープンソースですが、フリーではありません。使用しているAGPLライセンスのため、ライセンス料を支払うか、コードをオープンソースにする必要があります。 ここで自分自身を参照してください: は http://itextpdf.com/terms-of-use/index.php – asmo
取得エラーエラーが「iTextSharp.text.Document」:usingステートメントで使用されるタイプは、暗黙的でなければなりませんconvertible to 'System.IDisposable' – Chirag
@Chirag私は実際にその時点でコードをコンパイルしたのかどうか、別のバージョンを使用している可能性があるかどうかについては思い出せません(ここでは[類似コードの例] /stackoverflow.com/questions/28923080/itextsharp-can-not-convert-all-html-to-pdf)、それはある時点で意味があることを確認する)。しかし、一般的に使い捨てでない場合は、「使用する」を省略することは安全です。ハングアップ、[@ダーリンの答え](http://stackoverflow.com/a/1642301/11635)を見てください。皇帝の服を指してくれてありがとう:) –
簡単:そこ
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();
}
}
}
きちんとしたことに、+1。興味の問題として(私は年齢でそれを使用するhavent)、そこには/ IDisposableのドキュメントを使用してよりクリーンな方法があります/または最終的には、おそらくimageStreamが実際のリソース所有者/所有者ではないのでしょうか? –
"PdfWriterは現在のコンテキストに存在しません" – Ladessa
pdfの画像の幅と高さを追加するには? –
多くのdiffツール。私が使用しているのは、PrimoPDF(FREE)http://www.primopdf.com/です。ファイルを印刷して、あなたのドライブにpdf形式で印刷します。
が間違っています。彼はプログラミングのやり方でそれをやりたがっている(具体的にはC#)。 – Raptor
私たちが幸運を祈ったのは、PDFSharpです(私たちはTIFFとText to PDFの変換を毎日何百件もの医療保険請求に使用しています)。
私はPDFSharpを使用していますが、pdfが歪んでいます。してください、私の質問を参照してくださいhttp://stackoverflow.com/questions/15437706/pdf-from-bitmap-wrong-size – Ladessa
あなただけのフリー/オープンソースソリューションを探しているかだけでなく、市販のものを検討している場合ではないことを確認。しかし、商用ソリューションを使用している場合は、EasyPDF SDKというツールキットがあります。このSDKには、イメージ(他の多くのファイルタイプを含む)をPDFに変換するためのAPIが用意されています。これは、C#をサポートしており、ここで見つけることができます:
http://www.pdfonline.com/
次のようにC#コードがなります
Printer oPrinter = new Printer();
ImagePrintJob oPrintJob = oPrinter.ImagePrintJob;
oPrintJob.PrintOut(imageFile, pdfFile);
を完全に透明であるために、私は私がのeasyPDF SDKのメーカーのために働くん否認しなければなりません(したがって、私のハンドル)ので、この提案はいくつかの個人的なバイアスなしではありません:)しかし、あなたが興味を持っている場合は、評価版をチェックしてください。乾杯!
このようなタスクはDocotic.Pdf libraryの助けを借りて簡単に行うことができます。
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);
}
}
免責事項:ここで
は、与えられた画像(JPGのみだけでなく、実際には)からPDFを作成するサンプルである私は、ライブラリのベンダーのために働きます。
別の作業コードは、
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());
}
}
それを試してhttp://www.graphicsmagick.org/は改良版のOGのImageMagickの(コード単位)であるにもあります。あなたが.NETライブラリを見つけられるかどうかはわかりません。 – csl
デスクトップ/サーバー/ Webアプリケーション用ですか? –
これはWebアプリケーションですが、コーディングが同じになるため、アプリケーションの種類に違いはありません – Coppermill