class_mcInkscape.inc.php 2.51 KB
<?php

class mcInkscape {
	
	/**
	 * 
	 * @param string $param_svgFileString
	 */
	public static function svgToPng($param_input_filename, array $param_outputfile=null, array $param_quality =null) {
		mcFile::manipulateOutputfileArray($param_outputfile, $param_input_filename);
		if(!$param_outputfile['filename']) {
			if(!$param_outputfile['filenameextension']) {
				$param_outputfile['filenameextension'] = '.png';
			}
			$outfile = mcFile::createTmpFile($param_outputfile);
		} else {
			$outfile = $param_outputfile['filename'];
		}

		if(!$param_quality['dpi']) {
			$param_quality['dpi'] = 90;
		}		
		
		$order = "inkscape $param_input_filename --export-dpi=".$param_quality['dpi']." -e $outfile";
//		D::ulli('$'.$order);
		$shell_exec = shell_exec($order);	

		return $outfile;
	}

	/**
	 * 
	 * @param string $param_svgFileString
	 */
	public static function svgToPdf($param_input_filename, array $param_outputfile=null, array $param_quality =null) {
		mcFile::manipulateOutputfileArray($param_outputfile, $param_input_filename);
		if(!$param_outputfile['filename']) {
			if(!$param_outputfile['filenameextension']) {
				$param_outputfile['filenameextension'] = '.pdf';
			}
				
			$outfile = mcFile::createTmpFile($param_outputfile);
		} else {
			$outfile = $param_outputfile['filename'];
		}
		
		if(!$param_quality['DPI']) {
			$param_quality['DPI'] = 90;
		}
		if(!$param_quality['PDF_VERSION']) {
			$param_quality['PDF_VERSION'] = 1.4;
		}		
		
		
		$order = "inkscape $param_input_filename --export-dpi=".$param_quality['dpi']."  --export-pdf=$outfile";
//		D::ulli('$'.$order);
		$shell_exec = shell_exec($order);	

		return $outfile;
	}
	
	
	public static function svgToJpg($param_in_svg, $param_out_jpg=false, $param_quality=100) {
		$new_png = mcInkscape::svgToPng($param_in_svg);
//		D::li('1.1 $new_png: '.$new_png);
		return mcImage::pngToJpg($new_png, $param_out_jpg, $param_quality);
	}
	
	
	public static function inkscapeSvgToNormalSvg($param_input_filename, array $param_outputfile=null) {
		mcFile::manipulateOutputfileArray($param_outputfile, $param_input_filename);
		if(!$param_outputfile['filename']) {
			if(!$param_outputfile['filenameextension']) {
				$param_outputfile['filenameextension'] = '.svg';
			}
				
			$outfile = mcFile::createTmpFile($param_outputfile);
		} else {
			$outfile = $param_outputfile['filename'];
		}
 	
		$inkscape_order = "inkscape -T ".$param_input_filename." -l ".$outfile."  ";
		$shell_exec = shell_exec($inkscape_order);	
//		D::show($shell_exec, $inkscape_order);

		return $outfile;		
		
	}
}

?>