명령 줄 고스트 스크립트를 사용하면 PDF에서 중복 된 포함 된 개체 (이미지)를 제거하고 단일 인스턴스로 바꿀 수 있습니까?ghostscript를 사용하여 PDF에서 중복 객체를 제거하는 방법은 무엇입니까?
배경 이미지가있는 200 개 이상의 PDF와 각 페이지의 작은 로고가 있습니다. 매우 큰 배경 이미지 및 로고 바이너리가 각 페이지에 한 번 포함 된 다음 참조되는 대신 각 개별 페이지에 포함되어 있기 때문에 파일 크기가 매우 큽니다. 나는 PDF의 작성자가 아니기 때문에 문제가 해결 될 수 없다.
(I 축소 또는 이미지 품질이 저하하고 싶지 않아, 나는 완전히 삭제하지 않습니다.)
나는 "각 이미지의 모든 바이트를 확인하는 것"*에 대해 어떻게 든 생각하지 않습니다. 이미지 스트림에서 해시를 생성 한 다음 이들을 비교하는 것이 가능하지 않습니까? (해시 생성을 "모든 바이트 검사"로 계산하지 않는 한 어떤 식 으로든 ...) –
예, 이미지의 해시를 '모든 바이트 검사'로 계산합니다. 당신은해야합니다. 현재 pdfwrite는이 목적을 위해 많은 수의 서로 다른 객체 유형에 대한 MD5 해시를 만듭니다. 그러나 일반적으로 상당히 특이한 기능에 대해 여러 메가 바이트의 데이터를 읽는 것이 가치가없는 것으로 간주되어 이미지 용으로 사용하지 않습니다. 내가 말했듯이 누군가가 정말로 그것을하고 싶다면, 해시를 생성하는 위치, 기존의 해시가 일치하는지 확인하는 방법, 그리고 새로운 이미지를 이전의 참조로 대체하는 방법에 대한 지침을 제공 할 수 있습니다. – KenS
누군가가 그러한 도전을 받아들이고 도움으로 구현한다면 정말 좋을 것입니다. OP에서 설명한 이유 때문에 너무 큰 "나쁜"PDF가 많이 있습니다. –