여러 개의 직사각형이 있으며 모두 동일한 별색을 공유합니다. 생성 된 PDF가 더 작은 크기를 갖도록 하나의 벡터 객체로 병합/그룹화하는 방법이 있습니까?iTextSharp에서 직사각형 그룹화
답변
처음부터 문서를 만드는 경우 대답은 간단합니다 : 예!
똑같은 별색을 공유하는 사각형의 모든 패스를 그린 다음 채우거나 획 또는 채우는 연산자를 사용하면 &이 패스를 칠하는 것으로 충분합니다.
기존 PDF 문서를 최적화하는 방법에 대해 이야기하고있는 중이다. 직사각형 연산자를 찾는 모든 내용 스트림을 구문 분석해야합니다 (직사각형이 이동 대상 및 줄 바꿈 연산자를 사용하여 그려지지 않는다고 가정).이 도형이 채워지거나 맺히는 곳을 확인한 다음 이러한 모든 연산자를 다시 정렬합니다. 이것은 많은 생각을 요구할 것입니다. 나는 어디서부터 시작해야할지 알고 싶지만, 어디에서 끝날지 예측할 수는 없습니다. 어쩌면 하나의 사각형을 Form XObject로 정의하고 그 단일 외부 객체를 다시 사용하는 것이 더 합리적 일 수 있습니다. 예측하기가 어렵습니다.
또한 : 스트림에서 연산자에 대해 이야기하고 있습니다. 이러한 스트림은 어쨌든 압축되므로 크기를 약간만 줄이기 위해 많은 작업을 수행 할 수 있습니다.
나는 말할 것입니다 : 당신이 요구하는 것은 가능할 수도 있지만, 파일 크기가 제한적으로 줄어들 기 때문에 왜 그렇게 할 지 명확하지 않습니다.
크기가 문제가되는 경우 더 바람직한 결과를 초래할 수있는 "바이트 낭비"가있는 곳이있을 수 있습니다. 별색을 사용하는 사각형이 범인이라고 생각하는 이유를 듣고 매우 궁금합니다. 당신은 을 재사용하고 있습니다. 별색 인스턴스입니까? 그리는 모든 사각형에 대해 새로운 별색 인스턴스를 만드는 경우 실제 범인을 찾았으므로 사각형을 그룹화하지 않아도됩니다.