caj转pdf功能实现

caj转pdf功能实现,主要用到的是php接口和python核心转换语言。

还是老规矩废话不多说,caj转pdf的docker镜像包放在了文末,共500M左右。

内部搭建了php+apache+python环境,直接部署到docker然后分发个端口即可。

分别为php接口,cajpdf核心文件,uploadfile生成目录,其中核心文件包括:

 他的底层由cajviewer提供,c++转换。

<?php
$cajfilename = $_GET['caj'];
$time = time(); 
$file = downloadFile($cajfilename,'/var/www/html/uploadfile/'.$time);
$file_py = __DIR__.'/cajpdf/caj2pdf';
$file_position = explode('/',$file);
$filename = explode('.',end($file_position))[0].'.pdf';
array_pop($file_position);
$file_position_str = implode('/',$file_position).'/'.$filename;
$output = shell_exec('python3 '.$file_py.' convert '.$file.' -o '.$file_position_str);
echo $file_position_str;
    
function downloadFile($url,$savePath=''){

	$fileName = basename($url);
	$file = file_get_contents($url);
	file_put_contents($savePath.'/'.$fileName,$file);
	return $savePath.'/'.$fileName;
}
function getUrlFileExt($url){
	$ary = parse_url($url);
	$file = basename($ary['path']);
	$ext = explode('.',$file);
	return $ext[1];
}
?>

 在浏览器输入地址请求该docker的php接口,传递caj地址到接口中,接口会下载到uploadfile,然后调用python脚本使用c++做解析,生成的文件会和之前下载的caj文件保存到同一目录中,并有返回值

其中python依赖环境有三个,分别为如下:

 pdf绘制用的是mupdf-tools

python版本为3.6.9

默认为docker部署,如果需要其他文件的私信我。。。

 docker镜像地址:

caj转pdf的docker镜像版,可直接部署到docker中-Python文档类资源-CSDN下载