PackageTrack
Sign in Get early access

pdf_combiner

It is a lightweight and efficient Flutter plugin designed to merge multiple PDF documents into a single file effortlessly.

6.2.1 8.7K downloads/mo #3110 most downloaded on pub.dev vicajilau/pdf_combiner

What this package is like to depend on

Last release 5 days ago

19 Aug 2026

Release timing varies

gaps range from 9 days to 5 months

Nearly every release is documented

notes for 46 of 46 stable releases

Nothing withdrawn

no release was ever pulled

2 years old

46 releases · first in 2024

12 releases in the last 12 months

see the full history below

Release timeline

46 releases · Dec 2024 to Aug 2026
2025 2026
Release Pre-release

Releases

latest 46
  1. 6.2.1 19 Aug 2026
    Release notes

    What's Changed

    • docs: update MergeInput documentation to reflect sealed class implementation and URL support by @aucavic in #162
    • build(deps): bump file_magic_number from 2.0.0 to 2.1.0 in /example by @dependabot[bot] in #163
    • build(deps): bump permission_handler from 12.0.3 to 13.0.0 in /example by @dependabot[bot] in #164
    • build(deps): bump test from 1.31.0 to 1.31.1 in /example by @dependabot[bot] in #166
    • build(deps): bump permission_handler from 13.0.0 to 13.0.1 in /example by @dependabot[bot] in #165
    • fix(android): avoid pinning the Kotlin Gradle plugin version by @lauritsbrok in #167

    New Contributors

    Full Changelog: v6.2.0...v6.2.1

    Open source →
    Release notes

    Android

    • Removed the pinned Kotlin Gradle plugin version so the library inherits the version declared by the consuming Flutter project, avoiding version conflicts.
    Open source →
  2. 6.2.0 17 Jul 2026
    Release notes

    What's Changed

    • fix(ios,macos): fix EXC_BAD_ACCESS crash when merging PDFs by @aucavic in #157
    • chore: bug fixes, memory optimizations, and web script loading improvements for v6.1.1 by @aucavic in #158
    • feat: add MergeInput.url support by @aucavic in #159
    • refactor: convert MergeInput to sealed class hierarchy by @aucavic in #160
    • refactor: remove isolates and simplify image models by @aucavic in #161

    New Contributors

    Full Changelog: v6.1.0...v6.2.0

    Open source →
    Release notes

    General

    • Refactored MergeInput to a Dart 3 sealed class hierarchy (PathMergeInput, BytesMergeInput, UrlMergeInput) for improved type safety and pattern matching support, while maintaining full backward compatibility.

    • Removed redundant Dart isolates layer to optimize memory and CPU usage, invoking platform method channels directly (since native implementations already process work asynchronously on background threads).

    • Simplified ImageCompression class structure by removing unnecessary internal private subclasses.

    • Corrected ImageScale documentation for toMap() and clarified its constructor assertions.

    • Added MergeInput.url support to dynamically download and merge remote PDFs and images.

    • Implemented automatic URL download caching (_downloadedUrlBytesCache) and temporal file cleanup.

    • Improved DocumentUtils.prepareInput to dynamically detect file formats (PDF, PNG, JPG, HEIC) using magic numbers for byte inputs instead of forcing .png extension.

    • Added unit tests to verify proper file extension creation for byte arrays in prepareInput.

    Android

    • Fixed a crash (IllegalArgumentException) when extracting a PDF to a single combined image with original dimensions (0, 0).
    • Aligned image rescaling logic for individual page extraction with iOS (individual pages are now resized if a scale is configured).

    iOS & macOS

    • Fixed a critical crash (EXC_BAD_ACCESS in CGPDFAdvancesGetHorizontalAdvance) when merging multiple PDF files caused by premature deallocation of source PDFDocument objects. #156
    • Simplified page creation helper using native PDFPage(image:) initialization.
    • Added autoreleasepool wrapping to PDF page rendering loops to prevent memory accumulation and potential out-of-memory crashes on large documents.

    macOS

    • Fixed a bug where pages were vertically combined in reverse order (from last page to first page).

    Web

    • Added script load safety checks before executing JS interop calls, resolving potential race condition crashes on early invocations.
    Open source →
  3. 6.1.0 28 Jun 2026
    Release notes

    What's Changed

    • build(deps): bump file_picker from 10.3.8 to 10.3.10 in /example by @dependabot[bot] in #129
    • build(deps): bump test from 1.26.3 to 1.29.0 in /example by @dependabot[bot] in #131
    • build(deps): bump platform_detail from 5.1.0 to 5.4.0 in /example by @dependabot[bot] in #133
    • build(deps): bump test from 1.29.0 to 1.30.0 in /example by @dependabot[bot] in #132
    • build(deps): bump cupertino_icons from 1.0.8 to 1.0.9 in /example by @dependabot[bot] in #134
    • build(deps): bump file_picker from 10.3.10 to 11.0.1 in /example by @dependabot[bot] in #135
    • build(deps): bump file_picker from 11.0.1 to 11.0.2 in /example by @dependabot[bot] in #136
    • build(deps): bump desktop_drop from 0.7.0 to 0.7.1 in /example by @dependabot[bot] in #138
    • Upgrade actions/checkout and related actions to v6 by @vicajilau in #142
    • Bump version to 6.0.5, fix SPM dependency, and suppress MSVC coroutine deprecation warning by @vicajilau in #149
    • build(deps): bump open_file from 3.5.11 to 4.0.0 in /example by @dependabot[bot] in #150
    • build(deps): bump path_provider from 2.1.5 to 2.1.6 in /example by @dependabot[bot] in #152
    • feature/build_in_kotlin_migration by @daniJimen in #153
    • feat: optimize FileTypeIcon state management and implement file byte caching by @vicajilau in #155

    Full Changelog: v6.0.4...v6.1.0

    Open source →
    Release notes

    General

    • Fixed an issue where some live images were not properly detected as images.

    Android

    • Migrate library to build in kotlin.
    • Refactored Kotlin implementation to use CoroutineScope(Dispatchers.Main) and execute background tasks safely on Dispatchers.Default, preventing blocking of the main UI thread.
    • Fixed a critical bitmap memory leak in the Android rescaling function by properly recycling the original bitmap resources.

    iOS & macOS

    • Added missing FlutterFramework dependency to Package.swift for Swift Package Manager support.

    Windows

    • Added _SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS compile definition to suppress MSVC deprecation errors in standard library coroutine headers.
    Open source →
  4. 6.0.4 23 Jan 2026
    Release notes
    • Updated minimum Dart SDK to 3.0.0 to support latest dependencies.
    Open source →
    Release notes

    General

    • Updated minimum Dart SDK to 3.0.0 to support latest dependencies.
    Open source →
  5. 6.0.3 23 Jan 2026
    Release notes
    • Fixed documentation link to improve pub.dev scoring.
    Open source →
    Release notes

    General

    • Fixed documentation link to improve pub.dev scoring.
    Open source →
  6. 6.0.2 22 Jan 2026
    Release notes
    • Updated dependencies.
    Open source →
    Release notes

    General

    • Updated dependencies.
    Open source →
  7. 6.0.1 22 Jan 2026
    Release notes
    • Fixed static analysis issues.
    Open source →
    Release notes

    General

    • Fixed static analysis issues.
    Open source →
  8. 6.0.0 21 Jan 2026
    Release notes

    General

    • BREAKING CHANGE: All methods now use MergeInput instead of String for input parameters, allowing both file paths and raw bytes (Uint8List).
    • BREAKING CHANGE: generatePDFFromDocuments parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: mergeMultiplePDFs parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: createPDFFromMultipleImages parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: createImageFromPDF parameter changed from inputPath: String to input: MergeInput.
    • Added MergeInput class with two factory constructors: MergeInput.path(String) and MergeInput.bytes(Uint8List).
    • Added support for mixing file paths and bytes in the same operation.
    • Added support for .heic file format.
    Open source →
    Release notes

    General

    • BREAKING CHANGE: All methods now use MergeInput instead of String for input parameters, allowing both file paths and raw bytes (Uint8List).
    • BREAKING CHANGE: generatePDFFromDocuments parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: mergeMultiplePDFs parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: createPDFFromMultipleImages parameter changed from inputPaths: List<String> to inputs: List<MergeInput>.
    • BREAKING CHANGE: createImageFromPDF parameter changed from inputPath: String to input: MergeInput.
    • Added MergeInput class with two factory constructors: MergeInput.path(String) and MergeInput.bytes(Uint8List).
    • Added support for mixing file paths and bytes in the same operation.
    • Added support for .heic file format.
    Open source →
  9. 5.0.0 12 Jan 2026
    Release notes

    General

    • BREAKING CHANGE: Removed custom response models (GeneratePdfFromDocumentsResponse, ImageFromPDFResponse, MergeMultiplePDFResponse and PdfFromMultipleImageResponse).
    • BREAKING CHANGE: Methods now return Future<String> (path) or Future<List<String>> (paths) directly.
    • BREAKING CHANGE: Removed PdfCombinerStatus enum and PdfCombinerDelegate.
    • BREAKING CHANGE: Error handling now uses standard Dart try-catch blocks. The plugin throws PdfCombinerException on failure.
    • Simplified documentation examples to use generic try-catch blocks.
    • Added a dedicated section for PdfCombinerException in README.
    Open source →
    Release notes

    General

    • BREAKING CHANGE: Removed custom response models (GeneratePdfFromDocumentsResponse, ImageFromPDFResponse, MergeMultiplePDFResponse and PdfFromMultipleImageResponse).
    • BREAKING CHANGE: Methods now return Future<String> (path) or Future<List<String>> (paths) directly.
    • BREAKING CHANGE: Removed PdfCombinerStatus enum and PdfCombinerDelegate.
    • BREAKING CHANGE: Error handling now uses standard Dart try-catch blocks. The plugin throws PdfCombinerException on failure.
    • Simplified documentation examples to use generic try-catch blocks.
    • Added a dedicated section for PdfCombinerException in README.
    Open source →
  10. 4.4.2 17 Dec 2025
    Release notes

    Windows

    • Fixed an issue that prevented building on the Windows platform. #110
    Open source →
    Release notes

    Windows

    • Fixed an issue that prevented building on the Windows platform. #110
    Open source →
  11. 4.4.1 25 Nov 2025
    Release notes

    Web

    • Fixed an issue where the web folder was not being correctly published, preventing the plugin from working on the web platform. #102

    General

    • Updated libraries to improve package analysis and scoring on pub.dev.
    • Updated dependencies.
    Open source →
  12. 4.4.0 28 Oct 2025
    Release notes

    General

    • Fixed an issue where temporary PDF files were not cleaned up after generatePDFFromDocuments operation, causing unnecessary storage bloat on mobile devices. #93
    • Added ability to customize the temporary folder path where files are generated using DocumentUtils.setTemporalFolderPath() on all native platforms (Windows, macOS, Linux, Android, iOS).
    • Improved documentation across the codebase.
    • Updated dependencies.
    Open source →
  13. 4.3.8 19 Aug 2025
    Release notes

    General

    • Prepare app to access it from github_pages

    Web

    • Resolve issue when you convert any image into pdf
    Open source →
  14. 4.3.7 18 Jul 2025
    Release notes

    General

    • Updated the process exposing dependencies to increase the coverage of supported versions.
    Open source →
  15. 4.3.6 11 Jul 2025
    Release notes

    General

    • Fixed an issue where JPEG files were not detected. #82
    Open source →
  16. 4.3.5 19 Jun 2025
    Release notes

    iOS & macOS

    • Fixed an issue where a PDF from multiple images were not creating one page for each image. PR-78
    Open source →
  17. 4.3.4 19 Jun 2025
    Release notes

    General

    • Fixed an issue where PDF/A files were not working. #76
    Open source →
  18. 4.3.3 10 May 2025
    Release notes

    Android

    • Fixed an issue where R8 errors happens during release builds due to missing classes. #67
    Open source →
  19. 4.3.2 09 May 2025
    Release notes

    Android

    • Fixed an issue where multiple PDF files are combined, the resolution of the pages decreases. #65
    Open source →
  20. 4.3.1 14 Apr 2025
    Release notes

    General

    • Fixed an issue where the application was not build due to a problem with file_magic_number. #58
    • Updated dependencies.
    Open source →
  21. 4.3.0 24 Mar 2025
    Release notes

    General

    • Added: PdfCombinerDelegate class for handling progress, success, and error callbacks during the PDF combination process.
    Open source →
  22. 4.2.5 12 Mar 2025
    Release notes

    General

    • Downgrade of path to increase Flutter support. #46
    Open source →
  23. 4.2.4 12 Mar 2025
    Release notes

    General

    • Improved Dart support starting from version 3.4. #46
    Open source →
  24. 4.2.3 11 Mar 2025
    Release notes

    General

    • Fixed createPDFFromImages and generatePDFFromDocuments: Resolved an issue where the application show a message error when generating PDFs from image files related to the width of the image that appears its undefined.#43
    Open source →
  25. 4.2.2 11 Mar 2025
    Release notes

    General

    • Fixed generatePDFFromDocuments When selecting the option to create a PDF with two or more images, the process fails, and no PDF is generated. #40
    • Updated error message for invalid outputPath to clarify that it must have a .pdf format on generatePDFFromDocuments, mergeMultiplePDFs and createPDFFromMultipleImages.
    Open source →
  26. 4.2.1 10 Mar 2025
    Release notes

    General

    • Improved documentation.
    • Added more coverage.
    • Improved UI for example project.

    Web

    • createPDFFromMultipleImages did not work without passing a configuration. #37
    Open source →
  27. 4.2.0 09 Mar 2025
    Release notes

    General

    • Drag & Drop Capability added on example project.
    • Added generatePDFFromDocuments method to create a PDF from a mix of PDFs and images in any order.
    • Improved UI for example project.
    Open source →
  28. 4.1.1 08 Mar 2025
    Release notes

    Android

    • Fixed createPDFFromMultipleImages without configuration. #35
    Open source →
  29. 4.1.0 08 Mar 2025
    Release notes

    General

    • Improved documentation.

    Linux

    • Improved error management.

    Windows

    • Added support with PDFium by Google with C++.
    Open source →
  30. 4.0.1 07 Mar 2025
    Release notes

    General

    • Refactored pdf_combiner to use compute for native calls (MethodChannel), reducing potential UI freezes (UI thread blocking).
    • isMock has been added to PdfCombiner for testing purposes, when set to true, isolates will not be executed using main Isolate.
    Open source →
  31. 4.0.0 05 Mar 2025
    Release notes

    General

    • Errors are being recovered from native and sent through the message.
    • New optional parameter config of type PdfFromMultipleImageConfig to the method createPDFFromMultipleImages.
    • New optional parameter config of type ImageFromPdfConfig to the method createImageFromPDF.
    • BREAKING CHANGE: maxWidth, maxHeight and needImageCompressor has been inserted inside of config property on createPDFFromMultipleImagesmethod.
    • BREAKING CHANGE: maxWidth, maxHeight and createOneImage has been inserted inside of config property on createImageFromPDFmethod.
    • BREAKING CHANGE: outputPath parameter has been renamed by outputDirPath in createImageFromPDF method.
    • BREAKING CHANGE: createOneImage is false by default in createImageFromPDF method.

    Android

    • Apache PDFBox has been replaced by native code with android.graphicsimplementation.
    Open source →
  32. 3.4.0 23 Feb 2025
    Release notes

    Linux

    • Added support with PDFium by Google with C++.
    Open source →
  33. 3.3.0 21 Feb 2025
    Release notes

    Web

    • Removed the need for manually importing JavaScript files and modifying index.html. #21.
    Open source →
  34. 3.2.0 19 Feb 2025
    Release notes

    General

    • Error management improved.
    • File type detection improved with file_magic_number dependency. file_magic_number
    • Universal flows improved.
    Open source →
  35. 3.1.2 18 Feb 2025
    Release notes

    General

    • Simplified catching errors.
    • Added 100% coverage tests.
    Open source →
  36. 3.1.1 18 Feb 2025
    Release notes

    General

    • Added Codecov tool.
    • Added coverage on CI and PRs.

    Android

    • Fix issue with special characters in the outputPath param on imageFromPDF method.
    Open source →
  37. 3.1.0 17 Feb 2025
    Release notes

    General

    • Integrated CD.

    iOS

    • iOS migration to SPM.

    MacOS

    • MacOS migration to SPM.
    Open source →
  38. 3.0.4 14 Feb 2025
    Release notes

    Web

    • Fixed linting issues.
    • WASP improvements.
    Open source →
  39. 3.0.3 14 Feb 2025
    Release notes

    Web

    • Some internal improvements.
    Open source →
  40. 3.0.2 14 Feb 2025
    Release notes

    Web

    • Added WASM support.
    Open source →
  41. 3.0.1 14 Feb 2025
    Release notes

    General

    • Fixed CI badge.

    Web

    • js_utils migrated to js_interop.
    Open source →
  42. 3.0.0 14 Feb 2025
    Release notes

    General

    • Tooltips, theme, and more improvements on example project.
    • Improved documentation inside of the code.
    • Some improvements on the readme.
    • Updated dependencies.
    • Added more integration tests.
    • Minimized code size.
    • Minimized code size.
    • Optimized CI/CD process.

    iOS

    • Fixed wrong order exporting a pdf to one image #9.
    • Refactor creating extensions.

    MacOS

    • MacOS support added.
    • Refactor creating extensions.

    Web

    • Web support added.
    Open source →
  43. 2.1.0 13 Jan 2025
    Release notes
    • Added support for empty images.
    • Errors are more explicits adding the path.
    • Bugfix when file does not exist. See #3 for details.
    • Added more unit testing.
    • Updated Android dependencies.
    Open source →
  44. 2.0.0 16 Dec 2024
    Release notes
    • BREAKING CHANGE: mergeMultiplePDF has been renamed by mergeMultiplePDFs.
    • BREAKING CHANGE: createPDFFromMultipleImage has been renamed by createPDFFromMultipleImages.
    • BREAKING CHANGE: createImageFromPDF has been renamed by createImageFromPDFs.
    • BREAKING CHANGE: paths parameter has been renamed by inputPaths in mergeMultiplePDFs method.
    • BREAKING CHANGE: outputDirPath parameter has been renamed by outputPath in mergeMultiplePDFs method.
    • BREAKING CHANGE: paths parameter has been renamed by inputPaths in mergeMultiplePDFs method.
    • BREAKING CHANGE: outputDirPath parameter has been renamed by outputPath in createPDFFromMultipleImages method.
    • BREAKING CHANGE: path parameter has been renamed by inputPath in createPDFFromMultipleImages method.
    • BREAKING CHANGE: outputDirPath parameter has been renamed by outputPath in createImageFromPDF method.
    • BREAKING CHANGE: response.status is not a String anymore, now it is a PdfCombinerStatus enum value.
    • Added more tests.
    • Improved documentation.
    Open source →
  45. 1.0.1 15 Dec 2024
    Release notes
    • Updated min SDK of Dart to 3.0
    • Updated min SDK of Flutter to 3.0
    Open source →
  46. 1.0.0 15 Dec 2024
    Release notes
    • Initial release of the PDF Combiner package.
    • Allows users to select multiple PDF files.
    • Combines selected PDFs into a single output file.
    • Supports storage permissions on Android for file access.
    • Displays success and error messages using SnackBars.
    • Provides compatibility with both Android and iOS platforms for saving the output file.
    • Completed migration from pdf_merger.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive