小编Hai*_*ang的帖子

以PDF格式下载时,画布图表很模糊

第二次更新:

再次感谢所有评论/回答我问题的人

问题解决了: 我无法在生成的PDF上使画布图像看起来更好,项目的截止日期正在结束,最后,我决定将"PDF报告"功能从前端(Angular)移动到后端(python),我已经发布了一个答案(不是我自己的问题的答案,但更像是一个解决方案)

几天后更新搜索:

我已将Chart.js替换为Echarts,但模糊的问题仍然存在.我在网上搜索jsPDF和Canvas模糊了很多,看起来画布设置需要自定义,不幸的是,我不知道如何实现它.

如何看待broswer: 在此输入图像描述

以PDF格式下载时: 在此输入图像描述

原始问题:

我有一个Angular项目,需要下载图表数据的PDF.我选择了Chart.js和jspdf,效果很好.当我在一个页面中打印2个图表时,分辨率是可以的,但是当我尝试在同一页面上打印3个图表时,文本模糊.我已经阅读了这个类似的问题,但没有想出如何在拥有多个图表时更好地解决问题.

HTML代码:

  <div class="col-md-4">
    <div class="card card-chart">
      <div class="card-header">
        <h5 class="card-title">Cervical Lateral Flexion</h5>
        <!--<p class="card-category">Line Chart</p>-->
      </div>
      <div class="card-body">
        <canvas id="cervicalLateralFlexion"></canvas>
      </div>
    </div>
  </div>
Run Code Online (Sandbox Code Playgroud)

打字稿代码:

  public static buildChart(doc, selector, title, yHeight) {
    let height = yHeight;
    const canvas = document.querySelector(selector) as HTMLCanvasElement;
    doc.setFontSize(h5);
    doc.text(leftMargin, yHeight, title);
    const canvasImage = canvas.toDataURL('image/png');
    height += margin;
    doc.addImage(canvasImage, 'PNG', leftMargin, height);
  }
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?如何解决这个问题?提前致谢!图1是它在网页上的样子,图像2是PDF文件.

在此输入图像描述

在此输入图像描述

pdf canvas html5-canvas jspdf angular

8
推荐指数
1
解决办法
887
查看次数

cairocffi 在 Ubuntu 18.04 上安装失败

我正在pip freeze一个 python 项目上运行,它显示除数字版本之外的字符串 VERSION 并且包安装失败,警告消息是:

weasyprint 43 有要求 cairocffi>=0.9.0,但您将拥有不兼容的 cairocffi file-.cairocffi-VERSION。

cairocffi===file-.cairocffi-VERSION
Run Code Online (Sandbox Code Playgroud)

cairoccffi 是我在项目中使用的 Weasyprint 的依赖项,并且 weasypring 版本是正确的:

WeasyPrint==43
Run Code Online (Sandbox Code Playgroud)

我尝试使用pipreqs生成 requirements.txt,它没有显示 cairocffi 包,但包安装失败并出现相同的错误。

我检查了 site-packages 文件夹,它包含

cairocffi-file_.cairocffi_VERSION.dist-info/
Run Code Online (Sandbox Code Playgroud)

导致问题的原因。

有人可以帮忙吗?

python-3.x requirements.txt weasyprint

8
推荐指数
1
解决办法
1947
查看次数

竞争条件“检查然后行动”和“读-修改-写”

任何人都可以向我解释什么是竞争条件,如何避免它,以及如何在 Java 代码中找到它?

好吧,我几天才知道“竞争条件”,我有两个例子,也许它们不够好,这就是为什么我需要你的帮助:)希望你们中的任何人都可以为我解释。

示例1:检查然后采取行动:

if(vector.contains(e))//check
{
vector.remove(e)
}
Run Code Online (Sandbox Code Playgroud)

如果有2个线程可以访问,线程1在检查向量包含e后挂起,e在向量中,然后线程2访问检查然后从向量中删除e,然后线程1回来做删除动作,会发生错误,因为e是已被 thread2 删除。

示例2:读取修改写入:

假设我们在一个方法中有一个计数器变量,一旦方法被调用,计数器增加1,

counter++
Run Code Online (Sandbox Code Playgroud)

这不是原子操作,它有 3 个步骤: 1. 获取值 2. 增加值 3. 分配给值

我对比赛条件的了解都在这里,希望您能与我分享您的知识:)

谢谢

java race-condition

6
推荐指数
1
解决办法
5908
查看次数

在python中读取YAML配置文件并使用变量

说我有一个yaml配置文件,例如:

test1:
    minVolt: -1
    maxVolt: 1
test2:
    curr: 5
    volt: 5
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令将文件读取到python中:

import yaml

with open("config.yaml", "r") as f:
    config = yaml.load(f)
Run Code Online (Sandbox Code Playgroud)

然后我可以使用

config['test1']['minVolt']
Run Code Online (Sandbox Code Playgroud)

在样式方面,使用配置文件中变量的最佳方法是什么?我将在多个模块中使用变量。如果我仅按上述方式访问变量,则如果重命名了某些内容,则需要重命名该变量的每个实例。

只是想知道在不同模块中使用配置文件中的变量的最佳或通用做法是什么。

python yaml config

6
推荐指数
1
解决办法
4071
查看次数

如何在Angular2表达式中检查isNaN?

当我试图这样做时:

dividerColor="{{isNaN(+price) ? 'warn' : 'primary'}}"
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

browser_adapter.ts:82 ORIGINAL EXCEPTION: TypeError: self.context.isNaN is not a function
Run Code Online (Sandbox Code Playgroud)

如何检查我的对象在Angular2表达式中是否不是数字?

angular

6
推荐指数
3
解决办法
5645
查看次数

在go daddy服务器上部署angular2项目

我在本地主机上运行了一个angular-2项目.我想将它部署到daady服务器.我无法在go daddy服务器上安装node,npm.所以我的问题是如何在go daddy服务器上运行angular-2项目.谢谢

web-hosting angular-cli angular

6
推荐指数
3
解决办法
1万
查看次数

延迟加载在Angular 6中不起作用

我在尝试导航到angualr中的' http:// localhost:4200/dashboard '延迟加载路径时遇到此错误,angualr-cli 6.0.0

错误错误:未捕获(在承诺中):错误:找不到模块"app/dashboard/dashboard.module".错误:找不到模块"app/dashboard/dashboard.module".at $ _lazy_route_resource lazy namespace object:5

const routes: Routes = [
    {
        path: 'login',
        loadChildren: 'app/login/login.module#LoginModule',

    },
    {
        path: '',
        component: MasterComponent,
        children: [
            {
                path: 'dashboard',
                loadChildren: 'app/dashboard/dashboard.module#DashboardModule'
            }
        ],
    },
    {
        path: '**',
        redirectTo: 'login
    }
];


@NgModule({
    imports: [RouterModule.forRoot(routes)],
    exports: [RouterModule],
    providers: []
})
export class AppRoutingModule {
}
Run Code Online (Sandbox Code Playgroud)

angular

6
推荐指数
2
解决办法
8391
查看次数

使用 Xcode 的 Flutter 项目存档问题:agora_rtc_engine “找不到模块 'agora_rtc_engine'”

在此输入图像描述

我在我的 flutter 应用程序中使用 Agora,当我使用模拟器/模拟器和我的 android/ios 手机测试它时,一切正常。

当我在 Xcode 上存档项目并上传到 App store 时,它​​会抛出一个错误,如下所示,我在网上搜索了几个小时,但没有得到任何进展。我什至不知道问题是什么以及导致问题的原因

我的理解是agora_rtc_engine由 Flutter 安装,在归档 IOS 包时我不应该执行任何操作。

如果有人知道发生了什么事以及需要做什么,请分享您的想法,谢谢!

ios flutter

6
推荐指数
1
解决办法
2519
查看次数

Angular 5 + Firebase:命名空间“ firebase.auth”没有导出的成员“ IdTokenResult”

我目前正在使用Angular 5进行Web项目,并且我想集成Firebase Cloud Messaging以在应用程序上发送通知,但是我遇到了许多我试图修复它们的问题。现在有两个我无法修复的错误:Namespace 'firebase.auth'functions

错误看起来像:

ERROR in node_modules/angularfire2/auth/auth.d.ts(12,45): error TS2694: Namespace 'firebase.auth' has no exported member 'IdTokenResult'.
node_modules/angularfire2/firebase.app.module.d.ts(2,42): error TS2305: Module '"/Users/gerardtalla/dev/workspaces/ws-parcaune/pms/pms-frontend-2018/node_modules/firebase/app/index"' has no exported member 'functions'.
Run Code Online (Sandbox Code Playgroud)

我该如何解决?我正在使用

角度5

“ firebase”:“ 4.8.0”

“ angularfire2”:“ ^ 5.0.0-rc.5”

“ @ angular / cli”:“〜1.7.3”

如果有人有一个想法不要犹豫,请与我分享。在此先多谢。

firebase google-cloud-functions firebase-cloud-messaging angular5 angular-cli-v6

5
推荐指数
1
解决办法
5738
查看次数

Camel K 集成 pod 中的日志在哪里

更新

# access to the container
kubectl exec -it -c integration my-route-80b4cb7566-v6l7m /bin/sh

# go to directory
cd /tmp
Run Code Online (Sandbox Code Playgroud)

Squake 和 Nicola 的答案都工作正常。要检查生成的日志文件,您需要访问容器并检查正确的目录:

原始问题

我有一个与 kamel 一起运行的集成 Pod:

kamel run MyRoute.java
Run Code Online (Sandbox Code Playgroud)

我已登录路线

from("...")
.log("my log message")
Run Code Online (Sandbox Code Playgroud)

我可以使用命令检查日志行:

kubectl logs my-route-85d7f65c96-rmb4z --tail=10
Run Code Online (Sandbox Code Playgroud)

然后我就可以使用以下命令访问 pod:

kubectl exec -it -c integration my-route-85d7f65c96-rmb4z /bin/sh
Run Code Online (Sandbox Code Playgroud)

我尝试检查文件夹/var/log,不幸的是没有相关的日志文件。

我对此有两个问题:

  • 集成容器中的日志文件位置在哪里?
  • 如何指定日志文件位置?

谢谢

apache-camel apache-camel-k

5
推荐指数
1
解决办法
519
查看次数