2011-07-01 5 views
7

누구나 C#으로 PDF를 작성하고이 PDF 내부에 SVG 문서를 추가하는 방법을 알고 있습니까?.NET에 프로그래밍 방식으로 SVG를 포함 C#

itextsharp 할 수 없습니다.

SVG를이 라이브러리 (http://svg.codeplex.com/) 덕분에 이미지로 변환하지만 이미지가 픽셀 화되어 있기 때문에 SVG를 그래픽으로 유지해야합니다.

누구든지 라이브러리를 알고 계십니까?

감사합니다,

+0

itextsharp로 가능합니다. 'MyImageStream = new MemoryStream(); myChart.SaveImage (MyImageStream); 내 차트가 svg 차트 개체가됩니다. – Armance

+1

이 작업을 수행하는 방법이 변경되었습니다. emf에서 svg를 변환하고 docx를 생성합니다. 하지만이 솔루션을 사용하면 이미지를 확대 할 때 픽셀 화되지 않습니다. 픽셀 화되지 않은 경우 솔루션으로 제안하십시오. 하지만 더 이상 테스트 할 수 없으므로 모든 코드를 변경했습니다. – Dragouf

답변

3

PrinceXML이는 SVG를 처리하는 아주 좋은 일을하지만, 그것은 무료 버전이 출력 PDF에 작은 로고를두고 있다는 것을 의미 완전히 무료로하지 않습니다. 자세한 내용은 여기를 참조하십시오. http://www.princexml.com/doc/7.0/svg/

PDFJet를 사용하면 선, 원, 다각형 및 기타 기본 드로잉 도구를 만들 수 있습니다. SVG를 파싱 한 다음 적절한 원, 호, 선 등을 그리는 클래스를 만들고 PDFJet을 사용하여 PDF를 만들 수 있습니다. PDFJet는 여기에서 다운로드 할 수 있습니다 : http://pdfjet.com/os/edition.html

그 외에도, 나는 당신이하고 싶은 것을위한 다른 많은 옵션이 있다고 생각하지 않습니다.

+0

두 번째 해결 방법은 매우 복잡합니다. 첫 번째는 좋지만 로고를 받아 들일 수는 없습니다. – Dragouf

+0

@Dragouf - 실제로 SVG 라이브러리가 있습니다 : [C#의 SVG 프레임 워크와 SVG-GDI + 브리지] (http://www.codeproject.com/KB/cs/svgnet.aspx)이 라이브러리를 사용할 수 있습니다 SVG를 파싱 한 다음 PDFJet 또는 심지어 iTextSharp를 사용하여 폴리 라인 및 아크 프리미티브를 그립니다. – Icemanind

+0

그것은 그것의 긴 코딩 것 그리고 나는 enought 시간이 없다. 하지만 잘 이해하면 pdf가 svg xobject를 내장 할 수있는 것 같습니다. 필자는 inkscape 명령 줄을 사용하여 svg를 변환 한 다음 pdf를 itextsharp와 병합하는 데 사용합니다. 하지만 페이지에 결과 객체를 정확하게 배치 할 수는 없습니다. : s – Dragouf

2

PDFKit.NET3은 벡터를 보존하면서 SVG 문서를 PDF에 삽입 할 수 있습니다.

+1

좋지만 비쌉니다. – Dragouf

1

webSupergoo ABCpdf도 상업적으로 좋은 옵션입니다 (렌더링 또는 x64 지원을 원할 경우 ABCpdf Std는 329 달러, ABCpdf Pro는 479 달러입니다). 버전 7은 SVG 파일을 처리 할 때 끔찍한 일을했지만 (문제가있는 작은 하위 집합 만로드 할 수 있음) 버전 8 (그리고 현재 9)이 SVG 지원을 크게 개선 한 것으로 이해합니다. Gecko engine으로 전환합니다.

+0

불행히도 Azure에 대한 끔찍한 지원이 있습니다 ... 웹 사이트에 가상 머신을 설정해야한다고 명시되어 있습니다. 나는 Azure Web App에'ABCpdf'를 사용하여 솔루션을 마이그레이션하려고하는데 현재이 라이브러리가 유일한 장애물입니다 ... – Azimuth

관련 문제