在php中使用fpdf/fpdi添加垂直文本

2024-03-31

我有一个脚本可以从数据库 blob 构建多页 pdf。这个pdf文件可以工作并输出良好的电流,但我需要在每页的左侧添加一条垂直的文本行。我已经设法让它适用于某些 pdf 文件,但对于某些 pdf 文件,我收到损坏的文件错误。有谁有不同的方法来添加垂直文本我可以尝试使用 fpdf/fpdi。

这是我到目前为止所拥有的:

function buildBSIPDF($filename){
global $supplier;

$pdf = new FPDI();
$i = 1;
$pagecount = $pdf->setSourceFile($filename);

//create text to append
$sideline = "Some text here";

while($i <= $pagecount){

    //$pdf->setSourceFile($filename); 
    // import page 1 
    $tplIdx = $pdf->importPage($i); 
    //use the imported page and place it at point 0,0; calculate width and height
    //automaticallay and ajust the page size to the size of the imported page 

    //$s = $pdf->getTemplatesize($tplidx); 
    $pdf->AddPage();
    $pdf->useTemplate($tplIdx); 

    // now write some text above the imported page 
    $pdf->SetFont('Arial', '', '12'); 
    $pdf->SetTextColor(0,0,0);
    //set position in pdf document
    $pdf->SetXY(20, 20);
    //first parameter defines the line height
    $pdf->RotatedText(5,250,$sideline,90);
    $i++;
}
$pdf->Output($filename, 'F');

}


尝试这个 :

class PDF extends FPDF { 

function Rotate($angle,$x=-1,$y=-1) { 

    if($x==-1) 
        $x=$this->x; 
    if($y==-1) 
        $y=$this->y; 
    if($this->angle!=0) 
        $this->_out('Q'); 
    $this->angle=$angle; 
    if($angle!=0) 

    { 
        $angle*=M_PI/180; 
        $c=cos($angle); 
        $s=sin($angle); 
        $cx=$x*$this->k; 
        $cy=($this->h-$y)*$this->k; 

        $this->_out(sprintf('q %.5f %.5f %.5f %.5f %.2f %.2f cm 1 0 0 1 %.2f %.2f cm',$c,$s,-$s,$c,$cx,$cy,-$cx,-$cy));
     } 
  } 
} 

$pdf=new PDF(); 
$pdf->AddPage(); 
$pdf->SetFont('Arial','',10); 
$this->Rotate(10); 
$pdf->Write(20,'this text is crooked');
$this->Rotate(0); 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在php中使用fpdf/fpdi添加垂直文本 的相关文章

  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • PHPunit - 错误

    当 PHPunit 框架不希望发生的错误发生时 测试会停止 PHP 会抛出错误 但 PHPunit 不会记录这是一个错误 我如何确保 PHPunit 将其记录为错误 免责声明 我是 PHPUnit 的新手 我也试图弄清楚 发生错误时会发生什
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 压缩 zend Framework 2 的 html 输出

    我目前正在 PHP 5 4 4 上使用 Zend Framework 2 beta 开发个人 web 应用程序以用于自学目的 我想知道是否可以在 html 输出发送到浏览器之前拦截它 以便通过删除所有不必要的空格来缩小它 我怎样才能在ZF2
  • Laravel 5.1 中的VerifyCsrfToken.php 第 53 行:(Firefox 浏览器)中出现 TokenMismatchException?

    我试图找出为什么会出现这个错误 即使它是全新安装的 我在我的项目中遇到了这个错误 所以我用谷歌搜索 没有一个答案对我有用 所以我创建了新项目并复制了所有控制器 视图和模型 几个小时后工作正常 再次出现令牌不匹配错误 为什么在 laravel
  • Laravel - 停止并发访问记录

    在 Laravel 中 有什么方法可以停止同时与同一条记录交互 例如 如果用户 A 正在编辑一条记录 那么我同时需要阻止用户 B 编辑同一条记录 注意 我在 Laravel 5 2 中使用 SESSION DRIVER file 目前大约有
  • 在 PHP 中将 CSV 写入不带括号的文件

    是否有本机函数或实体类 库用于将数组写入 CSV 文件中的一行而无需封装 fputcsv将默认为 如果没有为封装参数传入任何内容 谷歌让我失望了 返回一大堆有关的页面的结果 fputcsv PEAR 的库做的事情或多或少与fputcsv 工
  • Symfony2中如何获取所有post参数? [复制]

    这个问题在这里已经有答案了 我想获取a的所有post参数symfony http symfony com Form I used all parameter this gt get request gt getParameterHolder
  • php 中的简单授权/登录功能

    我希望第一次实现用户登录到我的网站 我很高兴构建自己的解决方案 或者实现一些开源的东西 但是到目前为止 在我的搜索中没有任何包是明显的选择 同样 我完全意识到 作为一名中级 php 程序员 如果我推出自己的解决方案 并真正敞开大门 我很可能
  • 运行PHPUnit测试时如何避免内部调用函数?以及如何设置内部性能的模拟数据?

    我有一个类 Receipt php
  • PHP 中的 Preg_replace

    我想替换 中包含的字符串中的内容content 它是多行等 preg replace 函数应该删除整个 com 没有垫子 蒙特 尝试这个 result preg replace s replacement content subject
  • 如何将 mysql 转换为 mysqli? [复制]

    这个问题在这里已经有答案了 我厌倦了将 mysql 转换为 mysqli 但似乎收到了很多错误和警告 连接到数据库没有问题 但其余代码似乎错误 我做错了什么 sql
  • Laravel 5.2 带有可变参数的命名路由用法

    我有这样的路线 Open New Subscription page Route get account subscriptions create menu uses gt Subscriptions SubscriptionControl
  • PHP - hash_pbkdf2 函数

    我正在尝试使用此 php 函数执行一个函数来哈希密码 http be php net manual en function hash pbkdf2 php http be php net manual en function hash pb
  • Android GCM 服务器的 API 密钥

    我有点困惑我应该为 GCM 服务器使用哪个 API 密钥 在文档中它说使用 android api 密钥 这对我不起作用并且总是给出未经授权的 http developer android com google gcm gs html ht
  • 如何编写在正文中包含锚标记的 Zend Framework URL?

    使用 Zend Framework 中设置的标准 MVC 我希望能够显示始终具有锚点的页面 现在我只是在 phtml 文件中添加一个带有 anchor 的无意义参数
  • php 表单提交 - Q2

    我对这个虚拟问题感到抱歉 这是我的简单 PHP 表单 其中包含两个 SQL 表和 ADD 提交 按钮 我希望将人员从 Test1 转移到 Test2 很多事情都很好 只有提交按钮不起作用 因此 Test2 表没有反馈 Revised 现在提
  • PHP文件上传

    如果我想在文件名转到服务器的永久位置 而不是临时位置 之前更改文件名 我该如何执行此操作 代码如下
  • 如何在 codeigniter 查询中使用 FIND_IN_SET?

    array array classesID gt 6 this gt db gt select gt from this gt table name gt where array gt order by this gt order by q
  • 为什么 PHP 中不允许“传统”类型提示?

    刚刚发现类型提示 http php net manual en language oop5 typehinting phpPHP 中允许 但不适用于整数 字符串 布尔值或浮点数 为什么 PHP 不允许对整数 字符串等类型进行类型提示 从 P

随机推荐

  • 如何使用 C++ 初始化 const char 数组数据成员?

    我有一个与 C 类成员初始化相关的问题 下面的代码说明了我的问题 class ABCD public ABCD ObjNum 3 ABCD static const unsigned char getByte 8 const int Obj
  • 获取不包含滚动条宽度的 Div 宽度

    我这里有个问题 这里有两个div div1 和 div2 这里我想根据 div2 宽度调整 div1 宽度 我的要求是 div1 不应包含滚动条的宽度 即我应该设置 div1 的高度 不包括 div2 中滚动条的宽度 我想要一个 jquer
  • 如何将目录中每个文件中的制表符转换为空格?

    如何将目录中每个文件中的制表符转换为空格 可能递归地 另外 有没有办法设置每个选项卡的空格数 简单替换为sed可以 但不是最好的解决方案 如果选项卡之间存在 额外 空格 则它们在替换后仍将存在 因此边距将参差不齐 在行中间展开的选项卡也将无
  • 什么是方法内联? [复制]

    这个问题在这里已经有答案了 我一直试图理解这真正意味着什么 内联函数 在 C 中 定义的成员函数 类声明 2 函数 调用编译器替换为 该函数的实际代码 这 关键字 inline 可用于提示 编译器执行内联 成员身体的扩张或 非成员函数 in
  • 我可以在为 kindle fire 商店发布的应用程序中使用 Google Analytics 吗?

    我目前在 Play 商店中有一个使用谷歌分析的应用程序 我想修改并发布该应用程序到 Kindle 应用程序商店 并且仍然能够使用 GA 据我了解 这取决于播放服务能否正常工作 显然 kindle 设备上没有播放服务 但有没有办法将它们包含在
  • 将 ZeroMQ 交叉编译为 ARM,以便在 MonoTouch iPhone 应用程序配置设置中使用

    我正在尝试在使用 MonoTouch 用 C 开发的 iPhone 应用程序中使用 ZeroMQ 库 我几乎解决了所有的问题 却在最后一道坎倒下了 我正在使用 ZeroMQ 2 1 10 和 C CLR 绑定 包装器 并在 Mac OS X
  • 为什么默认字符串比较器无法保持传递一致性?

    我知道这个问题之前已经注意到 https stackoverflow com questions 9354966 string sorting issue in c sharp 9355086 9355086 或多或少简洁 但我仍然创建这个
  • 在 Google Colab 上设置 MLflow

    我经常使用 Google Colab 来训练 TF PyTorch 模型 因为 Colab 为我提供了 GPU TPU 运行时 此外 我喜欢使用 MLflow 来存储和比较经过训练的模型 跟踪进度 共享等 将 MLflow 与 Google
  • 如何在UITableView中显示滚动条

    我想显示某种指示来引导用户滚动 通常 当我们触摸 UITableView 时 如果需要 滚动条就会出现 但我希望这个滚动条指示已经显示在我的表格视图上 怎么可能这样做呢 如果您有一个超出屏幕的表格视图 您可以调用 self tableVie
  • 使用持久登录 Cookie 时,如何根据数据库中的 bcrypt-hashed 令牌检查 Cookie 令牌?

    In 这个流行的解决方案 https stackoverflow com a 477578 869849对于涉及生成随机 128 位 令牌 以保存在用户 Cookie 中的持久登录 Cookie Jens Roland 建议 And 不要将
  • 如何使用动态规划确定最长递增子序列?

    我有一组整数 我想找到最长递增子序列 https en wikipedia org wiki Longest increasing subsequence该集合使用动态规划 好的 我将首先描述最简单的解决方案 即 O N 2 其中 N 是集
  • 条件 haml - if else 嵌套

    我想要的是 if 中的内容和 else 中的内容以包含 main block if transparency content inner style gt background url images illustrations transp
  • iOS 推送通知中的粗体(或其他格式)

    内置的消息应用程序会在推送通知中显示消息发送者的姓名bold 可以为我的应用程序执行此操作吗 这样的有效负载会是什么样子 如果相关的话 我正在使用 Mac 应用程序 APN Tester 进行测试 以使用此类有效负载向我的 iPhone 发
  • Fitnesse 与任何其他子系统测试工具[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们目前正在使用 Fitness 进行子系统测试 我们在使用该工具时遇到很多问题 很少提及 编写 Fi
  • 从 lambda (C++) 创建的 std::function 的奇怪返回行为

    如果函数返回引用但返回类型未显式调用为引用 则我在使用从 lambda 创建的 std functions 时遇到问题 看起来 std function 创建得很好 没有任何警告 但是在调用它时 当需要引用时会返回一个值 导致事情崩溃 这是
  • 为什么枚举中的静态和实例初始化块的行为与类中的行为不同

    在学习 Java 认证测试时 我了解到静态初始化块在加载类时按照源代码中出现的顺序运行一次 实例初始化块在每次创建实例时运行 并且构造函数中的代码每次运行之后创建一个实例 为了测试我创建了一个带有一些静态和实例初始化块的类以及一个带有打印内
  • 如何使用一列来确定从何处获取另一列的值?

    我正在尝试使用一列来确定将哪一列用作另一列的值 它看起来像这样 X Y Z Target 1 a b c X 2 d e f Y 3 g h i Z 我想要看起来像这样的东西 X Y Z Target TargetValue 1 a b c
  • 使用 time min() 和 time max() 从选定的某个值 id 表中删除不必要的时间

    我尝试删除不必要的时间 因为我只需要min and max 数据 来自选定的 ID 并且还通过 Stack Overflow 阅读了同样的问题 SQL 仅选择列上具有最大值的行 https stackoverflow com questio
  • 需要将图像固定到页面上的特定位置

    我需要将 gif 图像修复到主页上的特定位置 我已将图像放入 HTML 中 但 position fixed 并没有执行我想要的操作 页面内容的其余部分在图像下方滚动 我希望图像始终保持在同一个位置 免责声明 我对 HTML 和 CSS 几
  • 在php中使用fpdf/fpdi添加垂直文本

    我有一个脚本可以从数据库 blob 构建多页 pdf 这个pdf文件可以工作并输出良好的电流 但我需要在每页的左侧添加一条垂直的文本行 我已经设法让它适用于某些 pdf 文件 但对于某些 pdf 文件 我收到损坏的文件错误 有谁有不同的方法