2017-01-25 7 views

答えて

1

libTiff.NetはlibTiffに基づいているので、明らかにこのタスクを実行することができますが、そのためのAPIは妥当な形式ではありません。ほとんどの場合、私は、宇宙におけるlibTiff.Netの役割は、BitMiracle(hi!)にTIFFをPDFに変換する手段を提供することだと考えています。これは非常に一般的な作業です。

問題は、文書のページに適切なIFDを見つけて削除する必要があることです。それはまっすぐですが、それはすべての画像データを残してしまいます。それを超えるデータを画像データから穴に合体させると、移動したデータを参照して調整するすべてのものを見つけなければならなくなります。最終的には、TIFF仕様を完全に理解する必要があります。ようこそ地獄へ、あなたはアコーデオンです。

代替手段を探している場合は、私の最後の会社AtalasoftのdotImage製品でTIFF操作の詳細をすべてa nice little APIにまとめてコードを書きました。それは無料ではなく、私が最後にチェックしたとき、彼らは価格を上げたように見えました。それでも、一回限りの30日間無料トライアルを受けることができます。それ以外の場合は、小切手を手に入れてください。ここで

は、あなたがdotImageでそれを行うだろう方法は次のとおりです。FYI

TiffDocument doc = new TiffDocument(sourceStream); 
// obviously, in a loop you should remove the pages in descending order 
doc.Pages.RemoveAt(zeroBasedPageIndex); 
doc.Save(destinationStream); 

、すべての重い物を持ち上げるには)(doc.Saveで行われます。残りはかなり軽量です。

+1

こんにちは! TIFFをPDFに変換する方法が必要だったので、LibTiff.Netを開始しました。しかしそれ以来、図書館は他の人々にとっても有用であることが判明しました。特に、アンマネージドコードがno-no(例:Silverlight)の場合。ライブラリ(https://github.com/CosmosOS/Cosmos)を使用しているオペレーティングシステムもあります。 – Bobrovsky

0

ライブラリを使用してこれを行う簡単な方法はありません。

UnlinkDirectoryを試してみても問題ありませんが、ファイルサイズは縮小されません。そしてデータは依然としてファイルに存在します。正常に動作するビューアではフレームにアクセスできません。

他の方法は、関連するフレームを新しい画像にコピーすることです。このためにTiffCPユーティリティで遊ぶことで始めることができます。その後、ユーティリティのソースコードを見ることができます。

OJPEG圧縮は読み取り専用モードでのみサポートされています。再度解凍して再圧縮することなくイメージデータをコピーすることはできません。このプロセスは損失性または無損失である可能性があります。無損失プロセスは、おそらくより大きなファイルを生成します。

関連する問題