Python如何将pdf导出图片格式

有些时候,我们不得不导出pdf,一些软件会要求购买vip服务才行,但是如果你装了python环境的话,其实现成的包就能帮你完成这个操作。

第一步需要安装fitz和PyMuPDF

大概三十多M。国内网络比较差的情况下可以使用清华源 -i https://pypi.tuna.tsinghua.edu.cn/simple

pip install fitz -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyMuPDF
继续阅读“Python如何将pdf导出图片格式”

undefined symbol: _ZN15TracebackLoggerC1EPKc, version libcudnn_ops_infer.so.8 错误 解决方法

python: symbol lookup error: /data/home/xxxxxproject/venv/lib/python3.9/site-packages/torch/lib/../../nvidia/cudnn/lib/libcudnn_cnn_infer.so.8: undefined symbol: _ZN15TracebackLoggerC1EPKc, version libcudnn_ops_infer.so.8

如果你遇到上面错误,可以ldd看一下libcudnn_ops_infer.so.8 指向的不是我们的venv下的目标so

ldd /data/home/projxxx/venv/lib/python3.9/site-packages/torch/lib/../../nvidia/cudnn/lib/libcudnn_cnn_infer.so.8
ldd: warning: you do not have execution permission for `/data/home/xxxxxxxproject/venv/lib/python3.9/site-packages/torch/lib/../../nvidia/cudnn/lib/libcudnn_cnn_infer.so.8'
        linux-vdso.so.1 (0x00007ffcee0e1000)
        /$LIB/libonion_block.so => /lib64/libonion_block.so (0x00007f81c7053000)
        /$LIB/libonion.so => /lib64/libonion.so (0x00007f81ee291000)
        libcudnn_ops_infer.so.8 => /usr/local/cuda-11.0/lib64/libcudnn_ops_infer.so.8 (0x00007f81b5507000)
        libz.so.1 => /lib64/libz.so.1 (0x00007f81b52f0000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f81b50e7000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f81b4ec7000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f81b4cc3000)
        libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f81b4b2b000)
        libm.so.6 => /lib64/libm.so.6 (0x00007f81b47a9000)
        libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f81ee261000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f81b43e7000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f81ee172000)

可以看到,libcudnn_ops_infer 并非指像我们虚拟环境下的路径,可以重新指定搜索路径

export LD_LIBRARY_PATH=~/projectxxxxxx/venv/lib/python3.9/site-packages/nvidia/cudnnib:$LD_LIBRARY_PATH

上面xxxxxx 就是你的项目地址, venv是虚拟环境目录

Kotlin 中遍历List的N种方式

最近开发使用Kotlin确实挺爽的,就在于这门语言足够现代化,和JetBrains家的编辑器结合起来更是无敌了,自动提示,编译优化都是很实用的,但这样基本也脱离不了这个生态了,话说今天使用List的遍历,居然有六种方式,使用哪种方式都可以。这样虽然看起来很庞大,看起来很难记的样子,但是好在编译器+idea足够聪明,记住一两种就OK了。这有点像是我们学习英语,随着对语义的更加紧准的表达,英文单词拓展到了十几二十万个。(方便的同时也会加大人们的记忆负担)

方式0

    brandList.forEach {
        println(it)
    }

方式1

    for (brand in brandList) {
        println(brand)
    }

方式2

  for (index in 0 until brandList.size) {
        println("$index:${brandList[index]}")
    }

方式3

    for (index in 0..brandList.lastIndex) {
        println("$index:${brandList[index]}")
    }

方式4

    for (index in brandList.indices) {
        println("$index:${brandList[index]}")
    }

方式5

    brandList.forEachIndexed { index, brand ->
        println("$index:${brand}")
    }

高德地图恐怕是最难用的开放平台了吧

最近需求需要接入地图SDK,本想腾讯地图确实不给力,想看看竞品做的如何,发现高德的SDK更烂。

首先是sdk还停留在十年前,使用jar包方式集成。需要拷贝一大坨jar包到工程项目中。

后来下载了demo,一堆报错,2024年了,demo中的gradle版本还是4.6版本,gradle tool 版本更是3.0,与java11 都不兼容。

解决完工程结构后,发现运行竟然报错。报错的原因是变更了jar包中类的处理。

大量的类在构造的时候需要Catch住?真的是毁了三观。

作为一个知名的地图开放平台,显得太不专业了。

一些思考

继续阅读“高德地图恐怕是最难用的开放平台了吧”

twentyseventeen

@media screen and (min-width: 90em){
.wrap {
max-width: 1800px;
padding-left: 13em;
padding-right: 13em;
}
.has-sidebar #secondary{
width: 16%;
}
.has-sidebar:not(.error404) #primary{
width: 80%;
}
}

/* 容器调整:确保左对齐文字 */
.wp-lightbox-overlay.active .lightbox-image-container {
display: flex;
flex-direction: column;
align-items: center; /* 图片居中 */
overflow: visible !important;
}

/* Markdown 引用块风格描述文字 */
.custom-caption {
margin-top: 20px;
padding: 10px 20px;

/* 核心样式:沉稳且无圆角 */
background: rgba(245, 245, 245, 0.9); /* 极淡的灰底,增加辨识度 */
color: #444; /* 深灰色文字 */
border-left: 4px solid #666; /* Markdown 风格的侧边杠 */
font-family: Georgia, serif; /* 使用衬线体增加沉稳感,或保持系统默认 */
font-size: 15px;
line-height: 1.6;
border-radius: 0; /* 彻底去掉圆角 */

/* 布局微调 */
width: fit-content;
max-width: 100%;
align-self: normal;
text-align: left; /* 文字内容左对齐,符合引用块逻辑 */

z-index: 999999;
box-shadow: none; /* 去掉阴影,回归极简 */

/* 动画保持简洁 */
animation: fadeInSlide 0.4s ease-out forwards;
}

@keyframes fadeInSlide {
from { opacity: 0; transform: translateX(-5px); }
to { opacity: 1; transform: translateX(0); }
}

2020“年度流水账”

2020年注定是不平凡的一年,因为疫情,改变了太多的东西,它将会在未来几十上百年都会被人拿来讨论。作为微小的个体,我的生活也迎来一些变化,原本飞澳洲的机票被迫取消。疫情之下生活还是要继续,开始重新进入国内职场。但更多的是对生活的领悟和感触。那还是照旧,从手机相册翻看起来吧。

翻开手机的相册,找到2020年1月1日的那张照片开始。

继续阅读“2020“年度流水账””