PHP原生代码生成pdf---解决中文乱码问题
github地址
尝试了使用composer下载FPDF或者FPDI,但是无法解决中文乱码问题。只有使用这个github上的中文包才可以,那俩没必要下。
直接上代码(这里并没有使用任何框架)
require('./fpdf/chinese.php');//生成pdf$pdf = new PDF_Chinese();$pdf->AddPage();$pdf->AddGBFont('songti');$pdf->SetFont('songti', '', 13);$pdf->Write(0, iconv("UTF-8", "gbk", "客户名:" . $_POST['customer_name']) . " ");$pdf->Ln(8);$pdf->Write(0, iconv("UTF-8", "gbk", "客户手机号:") . $_POST['tel'] . " ");$pdf->Ln(8);$pdf->Write(0, iconv("UTF-8", "gbk", "客户地址:" . $_POST['address']) . " ");$pdf->Ln(8);//换行$pdf->Write(0, iconv("UTF-8", "gbk", "面积:") . $_POST['area'] . " ");$pdf->Ln(8);$pdf->Write(0, iconv("UTF-8", "gbk", "客户等级:" . $level_name) . " ");$pdf->Ln(8);$pdf->Write(0, iconv("UTF-8", "gbk", "备注:" . $_POST['remark']) . " ");$pdf->Ln(8);//换行$pdf->Write(0, iconv("UTF-8", "gbk", "客厅图片:"));$pdf->Ln(5);$pdf->Image($_POST['room_pic1'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->Ln(83);$pdf->Image($_POST['room_pic2'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->Ln(83);$pdf->Image($_POST['room_pic3'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->AddPage();$pdf->Ln(3);$pdf->Write(0, iconv("UTF-8", "gbk", "客厅备注:" . $_POST['room_remark']));//换行$pdf->Ln(5);$pdf->Write(0, iconv("UTF-8", "gbk", "卧室图片:"));$pdf->Ln(3);$pdf->Image($_POST['bedroom_pic1'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->Ln(83);$pdf->Image($_POST['bedroom_pic2'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->Ln(83);$pdf->Image($_POST['bedroom_pic3'], $pdf->GetX(), $pdf->GetY(), 100, 80, 'JPEG');$pdf->Ln(3);$pdf->AddPage();$pdf->Write(0, iconv("UTF-8", "gbk", "卧室备注:" . $_POST['bedroom_remark']));$pdf->Output('F', 'example.pdf');
注意:中文需要用iconv函数。
相关文章:
PHP原生代码生成pdf---解决中文乱码问题
github地址 尝试了使用composer下载FPDF或者FPDI,但是无法解决中文乱码问题。只有使用这个github上的中文包才可以,那俩没必要下。 直接上代码(这里并没有使用任何框架) require(./fpdf/chinese.php);//生成pdf$pdf new PDF_Chinese();$pdf->AddPage…...
智慧车库管理系统
摘 要 随着城市化进程的不断加快,私家车数量的快速增长给城市交通带来了巨大的挑战,停车问题成为城市交通管理中的一大难题。车辆停车时,在停车场寻找停车位耗时过久,不仅仅浪费用户的时间,还可能引起交通拥堵。城市停…...
每日新闻掌握【2024年6月26日 星期三】
2024年6月26日 星期三 农历五月廿一 大公司/大事件 OpenAI将终止对中国提供API服务 从6月24日晚间开始,已有多名用户收到了来自OpenAI的邮件。该邮件表示,“我们的数据显示您的组织来自OpenAI目前不支持的地区的API流量。”邮件进一步表示,…...
InVEST实践及在生态系统服务供需、固碳、城市热岛、论文写作等实际项目中应用
白老师(研究员):长期从事生态系统结构-格局-过程-功能-服务的变化与响应关系等研究工作,重点围绕生物多样性、生态系统服务与价值等,构建生物地球化学模型和评价指标体系,为城市、区域和自然保护区的可持续发展和生态环…...
慧科新闻搜索研究数据库的使用指南及个人获取途径
《慧科新闻搜索研究数据库》WiseSearch由慧科讯业有限公司出品。WiseSearch是具有新闻搜索/浏览、对比分析等功能的一站式新闻搜索平台;内容包括1200种报刊和8000 网站的新闻资讯,平面媒体涵盖全国综合大报、党委机关报、都市报、行业报刊媒体࿰…...
SpringBoot学习03-[Spring Boot与Web开发]
Spring Boot与Web开发 RestTemplateMockMvc在SPringBoot中使用 SpringBoot整合swagger2SpringBoot的springmvc自动配置底层原理包含ContentNegotiatingViewResolver和BeanNameViewResolverContentNegotiatingViewResolverBeanNameViewResolver 支持提供静态资源,包括…...
数据恢复篇:如何恢复丢失的Android短信?
许多用户发现自己处于重要短信意外从Android手机中删除的情况。幸运的是,有一些行之有效的方法可以在没有root的情况下恢复已删除的短信Android,这可以成为救命稻草。这些技术不需要深厚的技术知识,也不需要损害设备的安全性。为了帮助您摆脱…...
数据结构历年考研真题对应知识点(栈)
目录 3.1栈 3.1.1栈的基本概念 【栈的特点(2017)】 【入栈序列和出栈序列之间的关系(2022)】 【特定条件下的出栈序列分析(2010、2011、2013、2018、2020)】 3.1.2栈的顺序存储结构 【出/入栈操作的模拟(2009)】 3.1栈 3.1.1栈的基本概念 【栈…...
BarTender版软件下载及安装教程
根据行业数据显示强大的配套应用软件甚至能够管理系统安全性、网络打印功能、文档发布、打印作业记录等,为满足不同的需要和预算,BarTender 提供四个版本,每个都拥有卓越的功能和特性。根据软件大数据显示多国语言支持:轻松设计…...
Python 中从字典中提取所有值到列表
目录: 使用 keys() 方法使用 values() 方法使用 items() 方法使用 * 解包使用列表推导式使用 lambda 函数有时候,在使用 Python 字典时,只关心获取字典的值而不关心字典的键。可以使用多种方法从字典中获取所有的值。 使用 keys() 方法 Python 字典(Dictionary) keys() 方…...
Netty中Reactor线程的运行逻辑
Netty中的Reactor线程主要干三件事情: 轮询注册在Reactor上的所有Channel感兴趣的IO就绪事件。 处理Channel上的IO就绪事件。 执行Netty中的异步任务。 正是这三个部分组成了Reactor的运行框架,那么我们现在来看下这个运行框架具体是怎么运转的~~ 这…...
liunx 搭建 zookeeper
创建下载路径 #创建文件夹 mkdir -p /mydata/zookeeper #进入文件夹 cd /mydata/zookeeper下载zookeeper文件 #下载 wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.5.9/apache-zookeeper-3.5.9-bin.tar.gz #解压文件 tar -zxvf apache-zookeeper-3.5.9-bin.…...
selenium 3中等待方式
Selenium 3中的等待方式主要有三种:强制等待、隐式等待和显式等待(智能等待的一种)。 1. 强制等待:使用time.sleep(X)方法,强制让浏览器等待X秒,无论当前操作是否完成,都…...
pytorch笔记:named_parameters
named_parameters 是 PyTorch 中一个非常有用的函数,用于访问模型中所有定义的参数及其对应的名称。它是 torch.nn.Module 类的方法之一,返回一个生成器,生成 (name, parameter) 对,name 是参数的名称,parameter 是对应…...
uniapp——H5添加支付宝授权登录,报错:系统异常,请联系商家。REDIRECT_URI_ILLEAGAL
解决方法 https://opensupport.alipay.com/support/FAQ/41bb980b-d18e-4141-8063-9d172cb7e655 这其中最常见的是授权的回调地址配置的不正确 应该为域名后面加上你H5打包后的名字,例如 https://www.xxx.com/agent要正确配置支付宝授权登录的回调地址,…...
群辉NAS使用Kodi影视墙
目录 一、KODI安装 二、修改UI语言 1、修改显示字体 2、修改语言为中文 四、添加媒体库 五、观看电影 五、高级设置 1、视图类型 2、修改点击播动作 五、补充 1、文件组织结构及命名 2、电影信息的刮削 (1)添加影片 (2)演员管理 (3)影片管理 (4)说明 K…...
如何实现HPC数据传输的高效流转,降本增效?
高性能计算(HPC)在多个行业中都有应用,涉及到HPC数据传输的行业包括但不限于: 1.科学研究:在物理学、化学、生物学、地球科学等领域进行模拟和建模。 2.工程和产品设计:进行复杂系统的设计和分析…...
redis 定时任务锁 分布式锁
基于 redisTemplate 在分布式集群环境中的最佳实践,其实无论是单机还是集群,保证原子性都是第一位的,如果能同时保证性能和高可用,那么就是一个可靠的分布式锁解决方案。 主要思路是:设置锁时,使用 redis…...
了解支付行业基本专业语
1、商户简称做什么? 商户简称是消费者支付时显示的名称。 2、客服电话哪里显示? 客服电话是如果用户对订单有疑问,可通过客服电话联系到您这边。会在支付成功后,微信(支付宝)支付的订单里面显示。 3、什么叫T1/T0、D1/D0 T1为第二个工作日到账&am…...
408数据结构-图的应用1-最小生成树 自学知识点整理
前置知识:图的遍历 图的应用是408初试历年考查的重点。不过一般而言,这部分内容直接以算法设计题形式考查的可能性极小,更多的是结合图的实例来考查算法的具体操作过程,要求掌握的是手推模拟给定图的各个算法执行过程。此外&#…...
Python爬虫实战:研究MechanicalSoup库相关技术
一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
