-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprinter.php
More file actions
76 lines (60 loc) · 2.52 KB
/
printer.php
File metadata and controls
76 lines (60 loc) · 2.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
/*
* File: printer.php
* Description: Print post information as pdf
*
* @package Fluidity
* @subpackage Print
* @since 20160215
* @author Richard Coffee <richard.coffee@rtcenterprises.net>
* @copyright Copyright (c) 2018, Richard Coffee
* @link https://github.com/RichardCoffee/fluidity-theme/blob/master/printer.php
*/
defined( 'ABSPATH' ) || exit;
if (!isset($post->ID)) {
die('No $post variable set. Exiting.');
}
require_once('classes/printer.php');
if (!class_exists('Fluidity_Printer')) return;
// create new PDF document
$pdf = new Fluidity_Printer(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->SetCreator(esc_html__('Fluidity Printer','tcc-fluid'));
$pdf->SetAuthor(get_the_author_meta('user_nicename',$post->post_author)); # post author
$pdf->SetTitle(get_the_title($post->ID)); # post title
$pdf->SetSubject(wp_title(null,false,'right')); # page title
//$terms = fluid_get_post_terms($post->ID,'all',array('fields'=>'name'));
//$string = implode(',',$terms);
//$pdf->SetKeywords($string); # taxonomy terms go here
// set default header data
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 001', PDF_HEADER_STRING, array(0,64,255), array(0,64,128));
$pdf->setFooterData(array(0,64,0), array(0,64,128));
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// ---------------------------------------------------------
// set default font subsetting mode
$pdf->setFontSubsetting(true);
// Set font
// dejavusans is a UTF-8 Unicode font, if you only need to
// print standard ASCII chars, you can use core fonts like
// helvetica or times to reduce file size.
$pdf->SetFont('dejavusans', '', 14, '', true);
// Add a page
// This method has several options, check the source code documentation for more information.
$pdf->AddPage();