2016-10-07 8 views
0

DynamicPDF를 사용하여 한국어 텍스트가있는 PDF 파일을 생성하고 있습니다. CJK 문자에 PDF 시스템 글꼴을 사용하고 있으며 두려운 사각형을 얻지 못하고 있습니다.PDF는 DynamicPDF로 작성하여 한국어 텍스트를 공란으로 렌더링합니다.

문자가 공백을 차지하고 나중에 라틴 문자를 추가하면 원하는 위치에 나타날 수 있습니다. 빈 공간을 선택하고 마우스 오른쪽 버튼을 클릭하거나 복사하면 올바른 예상 문자가 표시됩니다.

내 시스템은 한국어 텍스트를 렌더링하여 크롬의 HTML 페이지에 표시하고 크롬의 PDF는 표시하지 않습니다.

다음은 비교할 (작동중인) 일본어 텍스트가있는 최소 샘플입니다.

Poor Korean text :(

ceTe.DynamicPDF.Document document = new ceTe.DynamicPDF.Document(); 
ceTe.DynamicPDF.Page page = new ceTe.DynamicPDF.Page(PageSize.Letter, PageOrientation.Portrait, 54.0f); 

// Create a Label to add to the page 
var testString = "Korean: 안녕하세요 세계 </korean>"; 
page.Elements.Add(new Label(testString, 0, 0, 504, 100, Font.SinoTypeSongLight, 18, TextAlign.Center)); 
page.Elements.Add(new Label(testString, 0, 100, 504, 100, Font.HanyangSystemsGothicMedium, 18, TextAlign.Center)); 
page.Elements.Add(new Label(testString, 0, 200, 504, 100, Font.HanyangSystemsShinMyeongJoMedium, 18, TextAlign.Center)); 

testString = "Japan: こんにちは世界 </japan>"; 
page.Elements.Add(new Label(testString, 0, 300, 504, 100, Font.SinoTypeSongLight, 18, TextAlign.Center)); 

// Add page to document 
document.Pages.Add(page); 

// Outputs the document to the current web page 
document.Draw("D:/HelloWorld.pdf"); 

답변

2

CJK fonts에 DynamicPDF 설명서를 참조하십시오.

한국어 문자를 추가 할 때 사용하는 SinoTypeSongLight 글꼴은 중국어 간체 문자를 실제로 지원합니다. 이 글꼴에는 한국어 문자가 지원되지 않으므로 PDF의 첫 번째 줄에 공백이 있어야합니다.

두 번째 줄과 세 번째 줄에서 한국어 문자를 지원하는 올바른 글꼴 (HanyangSystemsGothicMedium & HanyangSystemsShinMyeongJoMedium)을 실제로 사용하고 있습니다. 그러나 위의 문서 링크에 따르면이 PDF를보고있는 시스템에 아시아 글꼴 팩이 설치되어 있어야합니다. Chrome 브라우저에서 어떤 PDF 뷰어 플러그인을 사용하는지 모르겠지만 Adobe Reader와 같은 PDF 뷰어에서는 아시아 글꼴 팩을 추가 기능으로 제공합니다. 아시아 글꼴 팩이있는 Adobe Reader DC에서 코드로 생성 된 PDF를 보여주는 스크린 샷을 참조하십시오.

enter image description here

면책 조항 : 나는 ceTe 소프트웨어, DynamicPDF 라이브러리를 개발하는 회사를 위해 일한다.