reportlab:如何设置 initial/default 视图?
reportlab: how to set initial/default view?
我成功地生成了一个空的 PDF,但它没有设置初始视图。我想将初始视图设置为 "full view",即最终用户看到一页适合 PDF reader(= A4 页面适合屏幕)。
def render_to_response(self, context, **response_kwargs):
response = HttpResponse(content_type='application/pdf; charset=utf-8')
response['Content-Disposition'] = 'attachment; filename=""'
p = canvas.Canvas(response, pagesize=A4, )
p.showPage()
p.save()
return response
如何使用 reportlab 设置默认缩放视图(如果可能)?
简而言之
添加这一行:
p.setViewerPreference("FitWindow", "true")
解释一下
设置观众偏好:
def setViewerPreference(self,pref,value):
set one of the allowed enbtries in the documents viewer preferences
可用的 pref
和 value
是:
class ViewerPreferencesPDFDictionary(CheckedPDFDictionary):
validate=dict(
HideToolbar=checkPDFBoolean,
HideMenubar=checkPDFBoolean,
HideWindowUI=checkPDFBoolean,
FitWindow=checkPDFBoolean,
CenterWindow=checkPDFBoolean,
DisplayDocTitle=checkPDFBoolean, #contributed by mark Erbaugh
NonFullScreenPageMode=checkPDFNames(*'UseNone UseOutlines UseThumbs UseOC'.split()),
Direction=checkPDFNames(*'L2R R2L'.split()),
ViewArea=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()),
ViewClip=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()),
PrintArea=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()),
PrintClip=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()),
PrintScaling=checkPDFNames(*'None AppDefault'.split()),
)
参考
我成功地生成了一个空的 PDF,但它没有设置初始视图。我想将初始视图设置为 "full view",即最终用户看到一页适合 PDF reader(= A4 页面适合屏幕)。
def render_to_response(self, context, **response_kwargs):
response = HttpResponse(content_type='application/pdf; charset=utf-8')
response['Content-Disposition'] = 'attachment; filename=""'
p = canvas.Canvas(response, pagesize=A4, )
p.showPage()
p.save()
return response
如何使用 reportlab 设置默认缩放视图(如果可能)?
简而言之
添加这一行:
p.setViewerPreference("FitWindow", "true")
解释一下
设置观众偏好:
def setViewerPreference(self,pref,value): set one of the allowed enbtries in the documents viewer preferences
可用的 pref
和 value
是:
class ViewerPreferencesPDFDictionary(CheckedPDFDictionary): validate=dict( HideToolbar=checkPDFBoolean, HideMenubar=checkPDFBoolean, HideWindowUI=checkPDFBoolean, FitWindow=checkPDFBoolean, CenterWindow=checkPDFBoolean, DisplayDocTitle=checkPDFBoolean, #contributed by mark Erbaugh NonFullScreenPageMode=checkPDFNames(*'UseNone UseOutlines UseThumbs UseOC'.split()), Direction=checkPDFNames(*'L2R R2L'.split()), ViewArea=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()), ViewClip=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()), PrintArea=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()), PrintClip=checkPDFNames(*'MediaBox CropBox BleedBox TrimBox ArtBox'.split()), PrintScaling=checkPDFNames(*'None AppDefault'.split()), )