我试图弄清楚如何在上传到服务器时旋转pdf文件-90度。
我知道我不能要求工具或网站等。
但经过大量搜索后,这里有stackoverflow,google,php.net我无法找到我需要的东西。我只希望有人能把我送到正确的方向。
我目前正在使用cakephp 2.0x。并使用jose gonzalez upload cakephp
中的上传插件我尝试在创建之后和保存之前编写其他函数:
$this->Post->create();
$this->rotate_pdf($this->request->data['model']['file']); <-----
if ($this->Post->save($this->request->data)) {
这是功能
plublic function rotate_pdf($pdf){
pdf_open_file($pdf);
pdf_rotate($pdf, -90);
pdf_close($pdf);
return $pdf;
}
但它给了我一个错误:undefined function pdf_open_file();
以下是一些工作示例:
http://www.rotatepdf.net/
https://www.pdfrotate.com/
http://www.rotatepdf.eu/index.html
但我不希望我的脚本下载新文件,只是将其上传到我的服务器。
我希望有人能帮助我。
答案 0 :(得分:0)
我们提供了一个能够以简单方式完成此任务的组件(SetaPDF-Core - 不是免费的!):
<?php
//require autoloader
require_once("library/SetaPDF/Autoload.php");
// create a file writer
$writer = new SetaPDF_Core_Writer_File("rotated.pdf");
// load document by filename
$document = SetaPDF_Core_Document::loadByFilename('your.pdf', $writer);
// get pages object
$pages = $document->getCatalog()->getPages();
// get page count
$pageCount = $pages->count();
for ($pageNumber = 1; $pageNumber <= $pageCount; $pageNumber++) {
// get page object for this page
$page = $pages->getPage($pageNumber);
// rotate by...
$page->rotateBy(-90);
}
// save and finish the document
$document->save()->finish();
可以使用simliar脚本的互动演示here。