PDF 투명도 병합


11

투명한 색상을 사용하는 Inkscape로 만든 PDF가 있습니다. 이 이미지는 LaTeX 문서에서 사용해야합니다.

투명도를 유지하는 것은 편집하기에 좋지만 인쇄에 문제가 될 수 있습니다. 인쇄에는 일반적으로 PDF에서 PS 로의 변환이 포함됩니다. Postscript는 투명도를 지원하지 않기 때문에 다음 중 하나가 필요합니다.

  • 평탄화, 즉 투명성없이 작동하는 벡터 그래픽 생성

또는

  • 래스터 링, 즉 비트 맵 이미지 렌더링

이러한 그림이 포함 된 PDF 문서를 Evince (또는 Cairo 또는 Ghostscript)를 사용하여 인쇄 (또는 PS로 변환)하면 전체 페이지가 비트 맵으로 렌더링되어 글꼴이보기 흉한 (다른 페이지와는 다른) 렌더링됩니다. (Adobe Acrobat은 이러한 PDF를 잘 처리합니다.)

불행히도 PDF 수치를 EPS로 변환하면 (LaTeX와 함께 포함하기 전에) pdftops와 pdf2ps (다시, Cairo 또는 Ghostscript)가 이미지를 래스터 화하므로 비트 맵 (EPS로 저장)을 렌더링하므로 크게 도움이되지 않습니다. (전체 페이지에는 영향을 미치지 않기 때문에 약간 더 좋지만 여전히 벡터 그래픽을 선호합니다.)

Linux에서 Inkscape 또는 다른 소프트웨어를 사용하여 투명도를 평평하게하려면 어떻게해야합니까?


2
흥미로운 질문입니다. 가능한 모든 모양의 교차점은 복합 채우기로 새로운 불투명 한 모양을 만들어야하므로 svg를 평평하게하는 것은 매우 복잡합니다.
artfulrobot

@artfulrobot 정확합니다. 결과적인 벡터 그래픽은 일반적으로 상당히 복잡해질 수 있습니다. 그러나 일반적으로 많은 벡터 라인 아트 그래픽의 경우 결과는 최신 포스트 스크립트 프린터에서 여전히 잘 작동합니다.
Jan

내가 찾은 가장 좋은 방법은 지루한 수동 방법입니다. 초기 단계 후에 다시 그리기가 필요합니다. 잉크 스케이프를 사용하여 pdf를 svg로 변환하고 svg를 좋은 텍스트 편집기에서 엽니 다. 'opacity : [0] [0-9 \.]'를 모두 'opacity : 1'(정규 버전)로 바꾸거나 'opacity : 0'을 찾으십시오. 불투명도 1 (지루한 버전)로 수동으로 대체합니다. svg를 inkscape에서 열고 pdf로 돌아가서 eps로 다시 멋지게 보이게하십시오 (어려운 부분).
Chris H

답변:


6

잘못된 래스터 화를 피하는 한 가지 방법은 PDF 문서를 포스트 스크립트로 수동 변환하는 것입니다. evince 또는 기타 GUI를 통해 CUPS를 호출하면 어쨌든 변환되기 때문입니다.

당신은 시도 할 수 있습니다 pdftops -r 1200 document.pdf(300)의 낮은 기본에서 해상도를 증가하고 그 결과 포스트 스크립트를 인쇄 할 수 있습니다. 그러나 프린터가 작동하면 크게 개선되지 않았습니다. 투명한 이미지가 있거나없는 페이지의 일반 텍스트는 여전히 흐릿하게 보입니다.

그래서 Acrobat Professional (Windows 시스템)을 사용하여 라텍스 문서에 사용 된 투명 이미지를 평평하게하여 최적의 결과를 얻었습니다. 확인 Transparency Flattener Preset에 있습니다 [High Resolution]고급 인쇄 설정한다. 제 동료는 포스트 스크립트 변환을 우회하여 pdf 파일을 최신 레이저젯 네트워크 프린터로 직접 FTP로 전송할 수 있다고 언급했습니다. 나는 이것을 시도하지 않았다.

이 문제에 대한 Linux 전용 솔루션이 있으면 좋을 것입니다.


1

나는 같은 문제가 있었고 이것이 내 해결책이다 (나중에 참조 할 수 있도록).

나는 많은 것들을 시도하고, 지금까지 내가 인터넷에서 발견 한 최고의 작업 솔루션과 이미지로 완전히 PDF 렌더링 된 pdf2ps하고 ps2pdf13있지만, 때문에 결과는, 나에게 만족하지 않았다 모든 벡터 모양이 손실되었다. 중요한 부분 만 렌더링하고 벡터 그래픽은 유지하고 싶었습니다.

나를 위해 트릭을 한 것은 inkscape의 모든 중요한 부분을 분리하여 별도의 레이어에 두는 것입니다 (내 이미지에서 이것은 모든 그림자였습니다). 이 레이어 (및 배경 레이어) 만 표시하고 PNG로 내보냈으며 모든 투명도 효과를 효과적으로 렌더링하지만 효과 만 렌더링했습니다. 다시 가져 와서 새 레이어에서 사용했습니다. 모든 레이어 가시성 (투명도 레이어 : 끄기, 다른 모든 것 : 켜기)을 뒤집은 후 내 보낸 PDF는 LaTeX와 완벽하게 작동하며 전체 페이지를 이미지로 렌더링하지 않고도 인쇄 할 수있었습니다.

TL; DR :

  1. 문제가있는 모든 투명 필름을 하나의 레이어 (투명도 마스크, 그림자 등)로 분리
  2. 문제가있는 레이어 및 배경 만 표시
  3. PNG로 내보내기
  4. 방금 생성 한 PNG를 가져 와서 배경으로 사용
  5. 문제가있는 레이어를 제외한 모든 레이어를 표시합니다
  6. PDF로 내보내기
  7. 스마일 :)

0

한 가지 방법은 Inkscape의 흰색 상자를 페이지와 같은 크기로 만들어 아래쪽 레이어로 보내는 것입니다. 투명한 배경 대신 흰색 배경으로 이미지를 내 보냅니다.


1
문제는 투명한 배경이 아니며 흰색 배경을 추가해도 문제가 해결되지 않습니다. 이미지 질문은 다른 (불투명 한) 모양 위에 반투명 모양을 사용합니다. SVG와 PDF는 이것을 지원하지만 PS는 지원하지 않습니다.
Jan

0

Ubuntu / Gimp를 사용하여 pdf 파일을 열고 매번 인쇄 미리보기를 확인하여 한 번에 한 페이지 씩 인쇄했습니다.


-1
pdftops -origpagesizes input.pdf output.ps

그때

ps2pdf -r600x600 output.ps input-new.pdf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.