Запрос к api осуществляется через yii\httpclient\Client
Код: Выделить всё
try {
/** @var Response $response */
$response = $this->clientHttp->createRequest()
->setMethod($this->httpMethod)
->setUrl($this->getRequestUrl($this->methodName))
->addHeaders(['Content-Type' => 'application/pdf'])
->addHeaders(['Accept-Language' => 'en-US'])
->addHeaders(['Accept-Charset' => 'utf-8'])
->setData($this->data)
->setOptions([
'timeout' => self::TIMEOUT,
])
->send();
} catch (\Throwable $e) {
return false;
}
Метод возвращает yii\httpclient\Response Object
GetContent() возвращает :
Код: Выделить всё
%PDF-1.5
2 0 obj
<< /Type /XObject
/Subtype /Image
/Width 561
/Height 100
/ColorSpace /DeviceGray/Matte[ 0 0 0]
/BitsPerComponent 8
/Interpolate false
/Length 56100 >>
stream
...........
В последствии я не знаю (кажется это невозможно) вырезать нужный фрагмент из этого файлы что бы скомпоновать 2 таких куска в один для экономии бумаги при печати.
Как можно сохранить данный pdf в файл заданного размера?
Я пробовал использовать FPDI но кроме записи потока как строки дальше не пошло.
Возможно данный поток можно сохранить в другом формате? JPEG и уже в html интегрировать данные картинки и печатать?
Как сделать максимально компактный pdf из полученного множества страниц А6 в виде потока PDF?
Сейчас все сохранённые файлы в формате А4 мержу FPDI и возвращаю точно такой же поток как получаю через api.