2012-03-08 56 views
0

私はVB.Netアプリケーションを書いています。 WordまたはPDFファイルをTIF形式に変換する必要があります。PDFをTIFF形式に変換する

無料は無料ですが、私は低コストも受け付けます。

可能であれば、私は、サンプルコードをしたいと思い、VBが好適であるが、私はまた、あなたがAtalasoft DotImage(commerial製品でこれを行うことができます#

答えて

0

これを行うことができる多くの製品が見つかりました。あるものは無料ですが、あるものはコストがあります。

ブラックアイスを使用しましたhttp://www.blackice.com/Printer%20Drivers/Tiff%20Printer%20Drivers.htmです。これは約40ドルで利用可能です。私はこの1つを買わなかった。

MyMorphと呼ばれる無料のものを使用しました。

0

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); 
     } 
    } 
} 
1

をそれは(あなたも、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ファイル名を渡すだけで簡単なことができます。

関連する問題