承接 nayzawoo/pdf-to-image 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nayzawoo/pdf-to-image

Composer 安装命令:

composer require nayzawoo/pdf-to-image

包简介

Convert PDF pages to JPG/PNG images using libvips

README 文档

README

Tests License

A high-performance PHP library to convert PDF pages to JPG/PNG images using libvips via php-vips.

Why libvips?

libvips is an extremely fast image processing library with a very low memory footprint. Unlike ImageMagick, it does not load the entire image into memory, making it highly efficient for converting large, multi-page PDFs to images.

Requirements

Installation

Install the package via Composer:

composer require nayzawoo/pdf-to-image

Usage

Basic Example

<?php

use NayZawOo\PdfToImage\PDF;

// Instantiate the converter with the PDF path and options
$pdf = new PDF('source.pdf', [
    'dpi' => 150,
]);

// Convert and save
$pdf->saveAsImage('output.png');

Get Page Count

Retrieve the total number of pages in the PDF file:

$pageCount = $pdf->getPageCount(); // returns int (e.g. 3)

Options

1. PDF Load Options (Constructor)

Pass load options as an associative array to the second argument of the constructor:

$pdf = new PDF('source.pdf', [
    'page'      => 0,   // Page index to load (0-indexed)
    'dpi'       => 300, // Resolution for rendering
    'n'         => 1,   // Number of pages to load
    'all_pages' => true // Shortcut to load all pages (sets n to -1)
]);
  • page (int): The page number to extract (starts at 0). Default is 0.
  • dpi (int): The rendering resolution (dots per inch). Higher values result in higher quality and larger image sizes. Default is 300.
  • n (int): The number of pages to load. Default is 1.
  • all_pages (bool): If set to true, it overrides n and tells libvips to load all pages.

2. Save / Output Options

Pass output options as an associative array to the second argument of saveAsImage():

For JPEG Output (.jpg, .jpeg):

$pdf->saveAsImage('output.jpg', [
    'Q'               => 80,   // Quality factor (0-100)
    'strip'           => true, // Strip metadata from output
    'optimize_coding' => true, // Optimize Huffman coding tables
    'interlace'       => true  // Progressive JPEG output
]);
  • Q (int): JPEG quality factor (0–100). Default is 75.
  • strip (bool): Strip all metadata profiles from the image. Default is false.
  • optimize_coding (bool): Compute optimal Huffman coding tables. Default is false.
  • interlace (bool): Save as progressive JPEG. Default is false.

For PNG Output (.png):

$pdf->saveAsImage('output.png', [
    'compression' => 6,    // Compression level (0-9)
    'interlace'   => true, // Progressive/interlaced PNG output
]);
  • compression (int): Zlib compression level (0–9). Default is 6.
  • interlace (bool): Save using Adam7 interlacing. Default is false.

License

This project is licensed under the MIT License. See LICENSE for details.

nayzawoo/pdf-to-image 适用场景与选型建议

nayzawoo/pdf-to-image 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 17 次下载、GitHub Stars 达 1, 最近一次更新时间为 2019 年 11 月 06 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 nayzawoo/pdf-to-image 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 nayzawoo/pdf-to-image 我们能提供哪些服务?
定制开发 / 二次开发

基于 nayzawoo/pdf-to-image 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 17
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-11-06