我正在写一个VB.Net应用程序。我需要能够将Word或PDF文件转换为TIF格式。
免费会很好,但我也会接受低成本。
如果可能,我想要示例代码,VB更可取,但我也知道c#
答案 0 :(得分:1)
使用imagemagick非常简单(你也必须下载ghostscript。)。您只需要使用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文档来查看它们是什么。你可以做一些简单的事情,只需传递pdf文件名和tiff文件名即可进行简单的转换。
答案 1 :(得分:0)
您可以使用Atalasoft DotImage(纪念产品 - 强制性免责声明:我为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);
}
}
}
答案 2 :(得分:0)
我发现有很多产品可以做到这一点。有些是免费的,有些是免费的。
我使用了Black Ice http://www.blackice.com/Printer%20Drivers/Tiff%20Printer%20Drivers.htm。这个价格约为40美元。我不买这个。
我最终使用了一个名为MyMorph的免费软件。