2017-11-17 6 views
2

, 나는 다음과 같은 출력을 얻을 :Matplotlib의 PdfPages가 탭을 상자 (글꼴 인코딩)로 인쇄하는 이유는 무엇입니까? 내가 제목에 추가 탭 <a href="https://matplotlib.org/examples/pylab_examples/multipage_pdf.html" rel="nofollow noreferrer">Matplotlib's multi page example</a>의 수정 된 버전을 실행할 때

enter image description here

이 내 작업 예입니다. 코드 위의 주석은 hereNon-ASCII characters in Matplotlib에있는 제안이지만 지금까지는 성공하지 못했습니다.

# -*- coding: utf-8 -*- 
import matplotlib 
from matplotlib.backends.backend_pdf import PdfPages 
from pylab import * 

#matplotlib.rc('font', family='DejaVu Sans') 

#matplotlib.rc('font', **{'sans-serif' : 'Arial', 
#       'family' : 'sans-serif'}) 

#matplotlib.rcParams['pdf.fonttype'] = 42 
#matplotlib.rcParams['ps.fonttype'] = 42 

pdf = PdfPages('multipage_pdf.pdf') 

figure(figsize=(3,3)) 
plot(range(7), [3,1,4,1,5,9,2], 'r-o') 
title('Page\tOne') 
savefig(pdf, format='pdf') # note the format='pdf' argument! 
close() 

pdf.close() 

아이디어가 어떻게 해결 될 수 있으십니까?

답변

2

용액 herehere 바와 같이

matplotlib.rcParams['ps.useafm'] = True 
matplotlib.rcParams['pdf.use14corefonts'] = True 
matplotlib.rcParams['text.usetex'] = True 

를 추가하는 것이다.

마법이 어떤 행을 찾지 못했는지는 모르겠지만 모든 경우에 필요하지는 않지만 모든 것을 추가했습니다. tex가 인코딩 할 수 없다는 불만이있는 경우 ['text.usetex']으로 계속 댓글을 달 수 있습니다. 하기 matplotlib의 문서에서

:

추가 "pdf.use14corefonts : True"로 구성 파일은 14 PDF 코어 글꼴을 사용합니다. 이러한 글꼴은 포함 할 필요가 없습니다. 모든 PDF보기 응용 프로그램이 있어야합니다. 결과적으로 LaTeX 또는 ConTeXt 문서 에서 pdfTeX로 변환없이 변환 할 수있는 매우 가벼운 PDF 파일 이 생성됩니다.

이 글꼴은 다음과 같습니다 타임즈 굵은 돋움 - 굵은 돋움, 바탕, 돋움 - 경사, 헬 베티 - BoldOblique, 택배, 택배 - 굵게, 택배 - 경사, 택배 - BoldOblique, 시간 - 로마, 타임즈 기울임 꼴을, Times-BoldItalic, Symbol, ZapfDingbats.