私はVB.Netアプリケーションを書いています。 WordまたはPDFファイルをTIF形式に変換する必要があります。PDFをTIFF形式に変換する
無料は無料ですが、私は低コストも受け付けます。
可能であれば、私は、サンプルコードをしたいと思い、VBが好適であるが、私はまた、あなたがAtalasoft DotImage(commerial製品でこれを行うことができます#
私はVB.Netアプリケーションを書いています。 WordまたはPDFファイルをTIF形式に変換する必要があります。PDFをTIFF形式に変換する
無料は無料ですが、私は低コストも受け付けます。
可能であれば、私は、サンプルコードをしたいと思い、VBが好適であるが、私はまた、あなたがAtalasoft DotImage(commerial製品でこれを行うことができます#
これを行うことができる多くの製品が見つかりました。あるものは無料ですが、あるものはコストがあります。
ブラックアイスを使用しましたhttp://www.blackice.com/Printer%20Drivers/Tiff%20Printer%20Drivers.htmです。これは約40ドルで利用可能です。私はこの1つを買わなかった。
MyMorphと呼ばれる無料のものを使用しました。
cを知っている - 義務免責事項:私はAtalasoftのために働くとPDFコードの多くを書きます):
// this code extracts images from the PDF - there may be multiple images per page
public void PdfToTiff(Stream pdf, Stream tiff)
{
TiffEncoder encoder = new TiffEncoder(tiff);
PdfImageSource images = new PdfImageSource(pdf);
encoder.Save(tiff, images, null);
}
// this code renders each page
public void PdfToTiff(string pathToPdf, Stream tiff)
{
TiffEncoder encoder = new TiffEncoder(tiff);
FileSystemImageSource images = new FileSystemImageSource(pathToPdf, true);
encoder.Save(tiff, images, null);
}
おそらく後者の例が必要です。 FileSystemImageSourceはワイルドカードを使用してファイルシステムを操作するコードを利用するため、パス上で動作します。それは本当にタスクのために残忍だ。あなたはあなたなしでそれをやってみたかった場合は、この必要があります:
public void PdfToTiff(Stream pdf, Stream tiff)
{
TiffEncoder encoder = new TiffEncoder();
encoder.Append = true;
PdfDecoder decoder = new PdfDecoder();
int pageCount = decoder.GetFrameCount(pdf);
for (int i=0; i < pageCount; i++) {
using (AtalaImage image = decoder.Read(pdf, i, null)) {
encoder.Save(tiff, image, null);
}
}
}
をそれは(あなたも、Ghostscriptをダウンロードする必要があります。)ImageMagickを持つ非常に簡単です。プロセスとして実行するには、VBを使用するだけです。
Dim imgmgk As New Process()
With imgmgk.StartInfo
.FileName = v_locationOfImageMagickConvert.exe
.UseShellExecute = False
.CreateNoWindow = True
.RedirectStandardOutput = True
.RedirectStandardError = True
.RedirectStandardInput = False
.Arguments = " -units PixelsPerInch " & v_pdf_filename & " -depth 16 -flatten +matte –monochrome –density 288 -compress ZIP " & v_tiff_filename
End With
imgmgk.Start()
Dim output As String = imgmgk.StandardOutput.ReadToEnd()
Dim errorMsg As String = imgmgk.StandardError.ReadToEnd()
imgmgk.WaitForExit()
imgmgk.Close()
引数はさまざまです。これらの引数は、imagemagick docsを使用して表示されます。シンプルな変換のためにpdfファイル名とtiffファイル名を渡すだけで簡単なことができます。