TCPDF页面旋转
我正在尝试生成一个包含宽度为50毫米,高度为50毫米的标签的PDF文件。我设法做到了这一点,并添加了所需的文本和条形码,但是我的问题是标签首先打印出窄边,因此整个页面需要旋转90度。TCPDF页面旋转
我可以在Adobe Reader中简单地右击页面并选择顺时针旋转(Shift + Ctrl ++),但我真的需要在代码中完成。
有谁知道如何做到这一点与TCPDF?我已经尝试了旋转功能,但似乎无法让它工作。任何代码示例都会有所帮助。
如何在建立页面时将其设置为风景?
TCPDF::__construct($orientation = 'L',
$ unit = 'mm',
$ format = 'A4',
$ unicode = true,
$ encoding = 'UTF-8',
$ diskcache = false)
$ orientation(string)page orientation。可能的值是(不区分大小写):
- P或纵向(默认)
- L或景观
- ''(空字符串),用于自动定向
http://www.tcpdf.org/doc/classTCPDF.html#a5420ac8b0726a604260780d8f4185fc1
我认为你是对的,但你应该把'P'改为'L' – 2011-05-23 21:49:03
哎呀,谢谢! – LawrenceGS 2011-05-26 18:54:22
这是我尝试过的第一件事,但它不仅仅是我想旋转的页面。我希望文本和页面内容从页面底部读取到顶部。 – James 2011-05-27 09:42:13
Rotate
很奇怪。这些文档没有告诉你的是,你必须首先执行StartTransform
,然后执行Rotate
,然后再执行StopTransform
。在您设置X/Y位置后(例如,我使用SetXY
初始定位页面,然后您可以拨打StartTransform
),您只能执行StartTransform
调用。所以,尽量做到:
$this->pdfinvoice->StartTransform();
$this->pdfinvoice->Rotate(-90);
然后添加您的内容,然后调用
$this->pdfinvoice->StopTransform();
时,即可大功告成。看看这对你有用。
使用你所建议的是我能够在TCPDF中进行轮换的最接近的,但是由于我完全不了解这些函数的工作原理,我得到了各种奇怪的异常。 – James 2011-05-27 09:45:04
我的猜测是,整个坐标系移动:你需要相应地调整所有的X/Y位置,这需要一些数学才能正确。不幸的是,在将0,0移动到右上角的位置**这样做的方法中,似乎并没有什么神奇的效果。 – Femi 2011-05-27 13:07:26
$ page_format = array(55,55,'Rotate'=> - 90); $ pdf-> AddPage('P',$ page_format,false,false); //也可以,你可以设置$ pdf-> SetPageUnit(“mm”);万一.. – YumYumYum 2011-07-20 14:51:07
最简单的选择是在风景模式'L'上设置页面,如果这是您所需要的。 否则,如果您需要纵向模式下的页面,但需要旋转对象,那么您可以创建一个XObject模板并将您的内容放在那里,包括图形转换。 查看http://www.tcpdf.org的默认示例以获取图形转换和XObject模板。
我与1.5版
$pdf->AddPage(); // Orientation for the first page is defined into configuration file.
$pdf->writeHTML("Portrait 1");
$pdf->AddPage('L');
$pdf->writeHTML("Landscape !");
$pdf->AddPage('P');
$pdf->writeHTML("Portrait 2");
$pdf->Output();
做什么,这是运作良好。
你是否已经在创建页面上旋转页面?见http://www.tcpdf.org/examples/example_060.phps – konsolenfreddy 2011-03-30 10:33:41
@詹姆斯有趣的问题,因为最近我正在考虑在PDF中自动化我的投资组合,并在每个项目页面的底部添加一个数字条形码。搜索BARCODE和PDF我登陆这里。你的问题是否修复? – Sam 2011-04-16 09:34:03
@Sam最后我不得不使用另一个程序来旋转页面。 PDF生成和条形码渲染工作正常。除了没有别的选择,我可能会再次使用TCPDF。 – James 2011-05-20 07:21:04