我使用 2 python 类作为配置文件。其中一个包含旧参数(不推荐使用),如果使用了不推荐使用的参数,我想显示一条消息。
这是我如何使用不同的类:
config_backup.py
class _ConfigBackup:
PARAM1 = 'a'
PARAM2 = 'b'
Run Code Online (Sandbox Code Playgroud)
config_new.py
class Config(_ConfigBackup):
PARAM3 = 'c'
PARAM4 = 'd'
cfg = Config
Run Code Online (Sandbox Code Playgroud)
然后我可以调用 cfg 并得到如下结果:
>>> cfg.PARAM3
'c'
>>> cfg.PARAM1
Parameter PARAM1 is deprecated.
'a'
Run Code Online (Sandbox Code Playgroud)
我认为函数或方法看起来像这样:
def warning(param):
print(f"Parameter {param.__name__} is deprecated.")
return param
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可行,也许通过使用装饰器或 with 语句,知道吗?
我想在 html page 4 canvas 中显示,每个画布对应一个 pdf 文件的页面。我成功地在 1 个画布中显示了 1 个页面,但是当我想显示 4 个时它不起作用:没有显示任何页面。
我做错了什么?
编辑:
我试图解决承诺的问题(我编辑了我的代码),但现在我遇到了另一个错误:Error: Invalid page request pdf.js:2687:31
这是相应的代码(2697 是返回的行):
getPage: function WorkerTransport_getPage(pageNumber, capability) {
if (pageNumber <= 0 || pageNumber > this.numPages ||
(pageNumber|0) !== pageNumber) {
return Promise.reject(new Error('Invalid page request'));
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
html文件:
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<meta name="description" content="PDF Viewer"/>
<title>My page</title>
</head>
<body>
<body>
<canvas id="canvas1" width="300" height="300"></canvas>
<canvas id="canvas2" width="300" height="300"></canvas>
<canvas id="canvas3" width="300" height="300"></canvas> …
Run Code Online (Sandbox Code Playgroud) 我有一个 4 页的 pdf,每一页都有一个透明的背景。我使用 pdf.js 来显示它们,但我想在我的 html 页面上以透明背景显示它们,但我不知道如何做到这一点,总是有一个白色背景:
我认为根据此问题是可能的,但是当我将行更改page.render(renderContext);
为page.render({renderContext, viewport, backgroundColor: 'rgba(0,0,0,0)' });
(如问题中所述)时,出现以下错误:
关于我如何管理的任何想法?
我使用 pdf.js 版本 v1.9.426 和 Firefox 55.0.2(64 位)。
编辑: 使用以下代码,我在控制台中没有错误,但我的 pdf 文件的背景仍然是白色的。(但是,如果使用例如 photoshop 打开 pdf 则没有背景)
链接到我使用的 PDF 文件:tempPDF.pdf
这是我的 javascript 文件来显示四个页面:
var pdfFile;
PDFJS.getDocument('/assets/pdf/tempPDF.pdf').then(function (pdf) {
pdfFile = pdf;
for(var i = 1; i <= 5; i++) {
var canvas = document.getElementById('canvas'+i);
var context = canvas.getContext('2d');
PDFJS.disableStream = true;
openPage(pdf, i, context, 50);
}
});
function openPage(pdfFile, pageNumber, …
Run Code Online (Sandbox Code Playgroud) 我title
对每个图形(D2 / E,D3 / E和D4 / E)都使用a,suptitle
对标题1和2使用a ,但是它们具有相同的字体大小。是否有解决方案以使标题1和标题2具有不同的大小?
我已经使用LaTeX 看到了此解决方案,但是问题是当我使用plt.rc('text', usetex=True)
每种字体和文本时都会更改。而且,我在每个标题中都使用了变量,看起来我用LaTeX无法做到这一点。