2017-01-25 7 views

답변

1

libTiff.Net은 libTiff를 기반으로하므로 분명히이 작업을 수행 할 수 있지만이를 수행하는 API는 합리적인 형식이 아닙니다. 대부분의 경우, 나는 우주에서의 libTiff.Net의 역할이 BitMiracle (hi!)에 TIFF를 PDF로 변환하는 수단을 제공하는 것이라고 믿습니다. 이는 매우 일반적인 작업입니다.

문제는 문서의 페이지에 적절한 IFD를 찾아서 제거해야한다는 것입니다. 그것은 곧장 앞으로 나올 수 있지만 모든 이미지 데이터가 뒤 떨어진다. 이미지 데이터의 구멍에 데이터를 합친다면 이동 된 데이터를 참조하고 조정해야하는 모든 것을 찾아야합니다. 결국 궁극적으로 TIFF 사양을 완전히 이해해야합니다. 어서 오십시오, 아코디언입니다.

대안을 찾고 있다면 dotImage 제품의 Atalasoft에서 a nice little API으로 TIFF 조작에 대한 모든 세부 정보를 마무리하는 코드를 작성했습니다. 그것은 자유롭지 않다. 그리고 내가 마지막으로 점검했을 때, 그들이 가격을 올려 놓은 것처럼 보였다. 아직 일회성 인 경우 30 일 무료 평가판을받을 수 있습니다. 그렇지 않으면 수표 책을 꺼내십시오. 여기

당신이 dotImage에서 그것을 할 거라고 방법은 다음과 같습니다

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을 시작했습니다. 그러나 그 이후로 도서관은 다른 사람들에게도 유용하다는 것이 증명되었습니다. 특히 관리되지 않는 코드가 아니요 (예 : Silverlight) 인 경우 라이브러리 (https://github.com/CosmosOS/Cosmos)를 사용하는 운영 체제도 있습니다. – Bobrovsky

0

라이브러리를 사용하여 쉽게이 작업을 수행 할 수 없습니다.

UnlinkDirectory를 시도해 볼 수는 있지만 파일 크기가 줄어들지는 않습니다. 그리고 데이터는 여전히 파일에 있습니다. 프레임은 잘 작동하는 뷰어가 액세스 할 수 없습니다.

다른 방법은 관련 프레임을 새 이미지로 복사하는 것입니다. 이를 위해 TiffCP 유틸리티로 게임을 시작할 수 있습니다. 그런 다음 유틸리티의 소스 코드를 살펴볼 수 있습니다.

OJPEG 압축은 읽기 전용 모드에서만 지원됩니다. 다시 압축을 풀고 다시 압축하지 않고 이미지 데이터를 복사 할 수 없습니다. 이 프로세스는 손실 또는 손실이 발생할 수 있습니다. 무손실 프로세스는 더 큰 파일을 생성합니다.