我正在编写一个VB.Net应用程序。我需要能够将Word或PDF文件转换为TIF格式。
免费会很好,但我也会接受低成本。
如果可能的话,我想要示例代码,VB更好,但我也知道c#
发布于 2012-04-06 05:27:05
我发现有很多产品可以做到这一点。有些是收费的,有些是免费的。
我用的是黑冰http://www.blackice.com/Printer%20Drivers/Tiff%20Printer%20Drivers.htm。这是可以接受的,大约40美元。不过我没有买这个。
我最终使用了一个名为MyMorph的免费软件。
发布于 2012-03-09 12:36:45
使用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文件名进行简单的转换。
发布于 2012-03-09 05:19:10
你可以使用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);
}
}
}https://stackoverflow.com/questions/9624883
复制相似问题