목차
订单id
12346546
PHP 프레임워크 Laravel Laravel-snappy를 사용하여 PDF를 내보내는 방법을 설명하는 기사

Laravel-snappy를 사용하여 PDF를 내보내는 방법을 설명하는 기사

Aug 30, 2021 pm 03:27 PM
pdf

다음 Laravel 튜토리얼 칼럼에서는 Laravel-snappy를 사용하여 PDF를 내보내는 방법을 소개합니다. 필요한 친구들에게 도움이 되길 바랍니다!

머리말

포럼에 Laravel-snappy를 사용하는 방법에 대한 많은 기사가 있지만 그 중 대부분은 설치 및 기본 예제에만 중점을 두며 실제 응용 프로그램의 사용법을 설명하지 않으며 몇 가지 질문과 의심에 대답하지 않습니다. 그러니 이걸 정리해서 기록으로 남겨두자.

설치

우분투를 예로 들어보세요

1. wkhtmltopdf 설치를 실행합니다.

composer require h4cc/wkhtmltopdf-amd64 0.12.x
composer require h4cc/wkhtmltoimage-amd64 0.12.x
로그인 후 복사

이름에서 알 수 있듯이 wkhtmltopdf와 wkhtmltoimage가 각각 설치됩니다.

2. 우분투 실행 명령

sudo cp vendor/h4cc/wkhtmltoimage-amd64/bin/wkhtmltoimage-amd64 /usr/local/bin/
sudo cp vendor/h4cc/wkhtmltopdf-amd64/bin/wkhtmltopdf-amd64 /usr/local/bin/
//并使其可执行:
sudo chmod +x /usr/local/bin/wkhtmltoimage-amd64 
sudo chmod +x /usr/local/bin/wkhtmltopdf-amd64
로그인 후 복사

3에 wkhtmltopdf를 복사합니다. laravel-snappy

composer require barryvdh/laravel-snappy
로그인 후 복사

4를 config/app.php

Barryvdh\Snappy\ServiceProvider::class
로그인 후 복사

5의 공급자 배열에 추가합니다. config/app.php

'PDF' => Barryvdh\Snappy\Facades\SnappyPdf::class,
'SnappyImage' => Barryvdh\Snappy\Facades\SnappyImage::class,
로그인 후 복사

6의 aliases 배열. 생성된 구성 파일

php artisan vendor:publish --provider="Barryvdh\Snappy\ServiceProvider"
로그인 후 복사

을 실행하면 기본 구성 파일이 config/snappy.php인 것을 볼 수 있습니다.

return [
    'pdf' => [
        'enabled' => true,
        'binary'  => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf'),
        'timeout' => false,
        'options' => [],
        'env'     => [],
    ],
    'image' => [
        'enabled' => true,
        'binary'  => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage'),
        'timeout' => false,
        'options' => [],
        'env'     => [],
    ],
];
로그인 후 복사

여기에는 기본 바이너리인 피트가 있습니다. 구성 /usr/local/bin/wkhtmltopdf 및 /usr/local/bin/wkhtmltoimage의 경우 처음 사용할 때 /usr/local/bin/wkhtmltopdf 오류 메시지가 보고되기 때문입니다. system, wkhtmltopdf 및 wkhtmltoimage의 실제 경로와 이름은 /usr/local/bin/wkhtmltopdf-amd64 및 /usr/local/bin/wkhtmltoimage-amd64입니다.

Laravel-snappy를 사용하여 PDF를 내보내는 방법을 설명하는 기사

따라서 구성 정보를 다음과 같이 수정해야 합니다.

'pdf' => [
        ...
        'binary'  => env('WKHTML_PDF_BINARY', '/usr/local/bin/wkhtmltopdf-amd64'),
        ...
    ],
    'image' => [
        ...
        'binary'  => env('WKHTML_IMG_BINARY', '/usr/local/bin/wkhtmltoimage-amd64'),
        ...
    ],
로그인 후 복사

//使用方法1
$pdf = \PDF::loadView('welcome', $data);
return $pdf->download('welcome.pdf');
//使用方法2
$html = &#39;<html><head><meta charset="utf-8"></head><h1 id="订单id">订单id</h1><h2 id="">12346546</h2></html>&#39;;
$pdf = \PDF::loadHTML($html);
return $pdf->inline();
로그인 후 복사

를 사용하여 시작하세요. 많은 블로그에서는 방법 1에서 다음과 같은 오류가 보고될 것이라고 언급하지 않았습니다.

The exit status code &#39;1&#39; says something went wrong: stderr: "Loading pages (1/6) [> ] 0% [======> ] 10% QSslSocket: cannot resolve CRYPTO_num_locks QSslSocket: cannot resolve CRYPTO_set_id_callback QSslSocket: cannot resolve CRYPTO_set_locking_callback QSslSocket: cannot resolve sk_free QSslSocket: cannot resolve sk_num QSslSocket: cannot resolve sk_pop_free QSslSocket: cannot resolve sk_value QSslSocket: cannot resolve SSL_library_init QSslSocket: cannot resolve SSL_load_error_strings QSslSocket: cannot resolve SSLv3_client_method QSslSocket: cannot resolve SSLv23_client_method QSslSocket: cannot resolve SSLv3_server_method QSslSocket: cannot resolve SSLv23_server_method QSslSocket: cannot resolve X509_STORE_CTX_get_chain QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf QSslSocket: cannot resolve SSLeay QSslSocket: cannot call unresolved function CRYPTO_num_locks QSslSocket: cannot call unresolved function CRYPTO_set_id_callback QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback QSslSocket: cannot call unresolved function SSL_library_init QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function sk_num [==================> ] 31% QSslSocket: cannot call unresolved function SSLv23_client_method QSslSocket: cannot call unresolved function SSL_library_init [============================================================] 100% Counting pages (2/6) [============================================================] Object 1 of 1 Resolving links (4/6) [============================================================] Object 1 of 1 Loading headers and footers (5/6) Printing pages (6/6) [> ] Preparing [============================================================] Page 1 of 1 Done Exit with code 1 due to network error: UnknownNetworkError QSslSocket: cannot call unresolved function CRYPTO_num_locks QSslSocket: cannot call unresolved function CRYPTO_set_id_callback QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback " stdout: "" command: /usr/local/bin/wkhtmltopdf-amd64 --lowquality &#39;/tmp/knp_snappy612c3edcdfc855.21787864.html&#39; &#39;/tmp/knp_snappy612c3edcdfce49.80482557.pdf&#39;.
로그인 후 복사

실행:

sudo apt-get update
sudo apt install libssl1.0-dev
로그인 후 복사

Repair 완료되면 환영 페이지를 내보냅니다.

save() 메소드를 사용하여 저장하면 기본적으로 /public 폴더에 저장됩니다. 파일 이름이 동일하면 두 번째 저장 시 파일이 이미 존재한다는 메시지가 표시됩니다.

위 내용은 Laravel-snappy를 사용하여 PDF를 내보내는 방법을 설명하는 기사의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

iPhone에서 PDF를 병합하는 방법 iPhone에서 PDF를 병합하는 방법 Feb 02, 2024 pm 04:05 PM

여러 문서 또는 동일한 문서의 여러 페이지로 작업할 때 이를 하나의 파일로 결합하여 다른 사람과 공유할 수 있습니다. 간편한 공유를 위해 Apple에서는 여러 PDF 파일을 하나의 파일로 병합하여 여러 파일을 보내지 않도록 할 수 있습니다. 이 기사에서는 iPhone에서 두 개 이상의 PDF를 하나의 PDF 파일로 병합하는 모든 방법을 알려 드리겠습니다. iPhone에서 PDF를 병합하는 방법 iOS에서는 파일 앱과 바로가기 앱을 사용하여 두 가지 방법으로 PDF 파일을 하나로 병합할 수 있습니다. 방법 1: 파일 앱 사용 두 개 이상의 PDF를 하나의 파일로 병합하는 가장 쉬운 방법은 파일 앱을 사용하는 것입니다. 아이폰에서 열기

Excel 워크시트에 PDF 문서를 포함하는 방법 Excel 워크시트에 PDF 문서를 포함하는 방법 May 28, 2023 am 09:17 AM

일반적으로 PDF 문서를 Excel 워크시트에 삽입해야 합니다. 회사의 프로젝트 목록과 마찬가지로 텍스트와 문자 데이터를 Excel 셀에 즉시 추가할 수 있습니다. 하지만 특정 프로젝트에 대한 솔루션 디자인을 해당 데이터 행에 첨부하려면 어떻게 해야 할까요? 글쎄, 사람들은 종종 멈춰서 생각합니다. 때로는 해결책이 간단하지 않기 때문에 생각도 효과가 없을 때가 있습니다. 매우 구체적인 데이터 행과 함께 여러 PDF 문서를 Excel 워크시트에 쉽게 삽입하는 방법을 알아보려면 이 문서를 자세히 살펴보세요. 예제 시나리오 이 문서에 표시된 예제에는 각 셀에 프로젝트 이름을 나열하는 ProductCategory라는 열이 있습니다. 다른 열 ProductSpeci

iPhone에서 PDF에서 텍스트를 가져오는 3가지 방법 iPhone에서 PDF에서 텍스트를 가져오는 3가지 방법 Mar 16, 2024 pm 09:20 PM

Apple의 라이브 텍스트 기능은 사진이나 카메라 앱을 통해 텍스트, 손으로 쓴 메모, 숫자를 인식하고 해당 정보를 다른 앱에 붙여넣을 수 있습니다. 하지만 PDF로 작업하면서 PDF에서 텍스트를 추출하려면 어떻게 해야 할까요? 이번 포스팅에서는 iPhone에서 PDF 파일에서 텍스트를 추출하는 모든 방법을 설명하겠습니다. iPhone에서 PDF 파일에서 텍스트를 가져오는 방법 [3가지 방법] 방법 1: PDF에서 텍스트 드래그 PDF에서 텍스트를 추출하는 가장 쉬운 방법은 텍스트가 있는 다른 앱에서와 마찬가지로 복사하는 것입니다. 1. 텍스트를 추출하려는 PDF 파일을 연 다음 PDF의 아무 곳이나 길게 누르고 복사하려는 텍스트 부분을 드래그하기 시작합니다. 2

PHP를 사용하여 PDF 파일을 처리하는 방법 PHP를 사용하여 PDF 파일을 처리하는 방법 Jun 19, 2023 pm 02:41 PM

범용 파일 형식인 PDF 파일은 전자책, 보고서, 계약서 등과 같은 다양한 응용 프로그램 시나리오에서 널리 사용됩니다. 개발 과정에서 PDF 파일을 생성, 편집, 읽기 및 기타 작업을 수행해야 하는 경우가 많습니다. 스크립팅 언어로서 PHP는 이러한 작업을 쉽게 완료할 수도 있습니다. 이 기사에서는 PHP를 사용하여 PDF 파일을 처리하는 방법을 소개합니다. 1. PDF 파일 생성 PDF 파일을 생성하는 방법에는 여러 가지가 있으며, 그 중 가장 일반적인 방법은 PDF 라이브러리를 사용하는 것입니다. PDF 라이브러리는 PDF 문서를 생성하는 도구입니다.

PDF에서 서명을 확인하는 방법 PDF에서 서명을 확인하는 방법 Feb 18, 2024 pm 05:33 PM

우리는 일반적으로 정부나 기타 기관으로부터 PDF 파일을 받으며, 일부는 디지털 서명이 포함되어 있습니다. 서명을 확인한 후 SignatureValid 메시지와 녹색 확인 표시가 표시됩니다. 서명이 확인되지 않으면 유효성을 알 수 없습니다. 서명을 확인하는 것이 중요합니다. PDF에서 이를 수행하는 방법을 살펴보겠습니다. PDF에서 서명을 확인하는 방법 PDF 형식의 서명을 확인하면 더욱 신뢰할 수 있고 문서가 승인될 가능성이 높아집니다. 다음과 같은 방법으로 PDF 문서의 서명을 확인할 수 있습니다. Adobe Reader에서 PDF를 엽니다. 서명을 마우스 오른쪽 버튼으로 클릭하고 서명 속성 표시를 선택합니다. 서명자 인증서 표시 버튼을 클릭합니다. 신뢰 탭에서 신뢰할 수 있는 인증서 목록에 서명을 추가합니다. 서명 확인을 클릭하여 확인을 완료합니다.

pdg 파일을 pdf로 변환하는 방법 pdg 파일을 pdf로 변환하는 방법 Nov 14, 2023 am 10:41 AM

방법은 다음과 같습니다. 1. 전문적인 문서 변환 도구를 사용합니다. 2. 온라인 변환 도구를 사용합니다. 3. 가상 프린터를 사용합니다.

Apple Notes에서 PDF를 가져오고 주석을 추가하는 방법 Apple Notes에서 PDF를 가져오고 주석을 추가하는 방법 Oct 13, 2023 am 08:05 AM

iOS 17 및 MacOS Sonoma에서 Apple은 Notes 앱에서 직접 PDF를 열고 주석을 달 수 있는 기능을 추가했습니다. 이 작업이 어떻게 수행되었는지 알아보려면 계속 읽어보세요. 최신 버전의 iOS 및 macOS에서 Apple은 인라인 PDF를 지원하도록 Notes 앱을 업데이트했습니다. 즉, Notes에 PDF를 삽입한 다음 문서를 읽고 주석을 달고 공동 작업을 할 수 있습니다. 이 기능은 스캔한 문서에도 작동하며 iPhone과 iPad 모두에서 사용할 수 있습니다. iPhone 및 iPad의 Notes에서 PDF에 주석 달기 iPhone을 사용하고 Notes에서 PDF에 주석을 달고 싶다면 가장 먼저 해야 할 일은 PDF 파일을 선택하는 것입니다.

xmind 파일을 pdf 파일로 내보내는 방법 xmind 파일을 pdf 파일로 내보내는 방법 Mar 20, 2024 am 10:30 AM

xmind는 매우 실용적인 마인드 매핑 소프트웨어입니다. 사람들의 생각과 영감을 사용하여 만든 지도 형식입니다. xmind 파일을 만든 후에는 일반적으로 모든 사람이 쉽게 배포하고 사용할 수 있도록 PDF 파일 형식으로 변환합니다. PDF 파일로? 다음은 참조할 수 있는 구체적인 단계입니다. 1. 먼저 마인드맵을 PDF 문서로 내보내는 방법을 보여드리겠습니다. [파일]-[내보내기] 기능버튼을 선택하세요. 2. 새로 나타난 인터페이스에서 [PDF 문서]를 선택하고 [다음] 버튼을 클릭하세요. 3. 내보내기 인터페이스에서 용지 크기, 방향, 해상도 및 문서 저장 위치 설정을 선택합니다. 설정을 완료한 후 [마침] 버튼을 클릭하세요. 4. [마침] 버튼을 클릭하면

See all articles