get_labels_print_pdf() public method

Gets a PDF with the requested shipping labels in it
public get_labels_print_pdf ( $request ) : object | WP_Error
$request
return object | WP_Error
 public function get_item($request)
 {
     $raw_params = $request->get_params();
     $params = array();
     $params['paper_size'] = $raw_params['paper_size'];
     $this->settings_store->set_preferred_paper_size($params['paper_size']);
     $n_label_ids = isset($raw_params['label_ids']) ? count($raw_params['label_ids']) : 0;
     $n_captions = isset($raw_params['captions']) ? count($raw_params['captions']) : 0;
     // Either there are the same number of captions as labels, or no captions at all
     if (!$n_label_ids || $n_captions && $n_captions !== $n_label_ids) {
         $message = __('Invalid PDF request.', 'woocommerce');
         $error = new WP_Error('invalid_pdf_request', $message, array('message' => $message, 'status' => 400));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     $params['labels'] = array();
     for ($i = 0; $i < $n_label_ids; $i++) {
         $params['labels'][$i] = array();
         $params['labels'][$i]['label_id'] = (int) $raw_params['label_ids'][$i];
         if ($n_captions) {
             $params['labels'][$i]['caption'] = $raw_params['captions'][$i];
         }
     }
     $raw_response = $this->api_client->get_labels_print_pdf($params);
     if (is_wp_error($raw_response)) {
         $this->logger->log($raw_response, __CLASS__);
         return $raw_response;
     }
     header('content-type: ' . $raw_response['headers']['content-type']);
     echo $raw_response['body'];
     die;
 }