pdf_merger는 Android 및 iOS 플랫폼에서 여러 PDF 파일을 하나의 문서로 병합할 수 있는 Flutter 플러그인입니다. PDF를 프로그래밍 방식으로 결합할 수 있는 간단한 API를 제공하여 문서 통합이 필요한 앱에 적합합니다. 예제에 설명된 바와 같이 사용자는 플러그인을 사용하기 전에 파일 권한을 부여하고 파일 선택기 기능을 통합해야 합니다. 이 패키지는 가볍고 기존의 Flutter 프로젝트와 원활하게 통합되도록 설계되었습니다.
사용 사례
사용자 선택에서 여러 PDF 병합
보고서 또는 양식을 하나의 파일로 결합하기
문서 처리 워크플로우 지원
공유를 위해 통합된 PDF 생성
앱에서 PDF 집약을 자동화하기
오프라인 PDF 관리 활성화
주요 기능
크로스 플랫폼 지원 (Android 및 iOS)
간단한 병합 API
파일 선택기 통합과 호환됩니다
가볍고 효율적
PDF 파일 목록을 지원합니다
명확한 문서를 통한 간편한 설정
적합한 대상
문서 관리 앱
교육 도구
비즈니스 보고 앱
양식 및 제출 시스템
PDF 처리 유틸리티
PDF 집약이 필요한 모바일 앱
고려 사항
파일 권한 처리가 필요합니다
외부 파일 선택기 통합 필요
병합에만 제한되며, PDF 편집은 불가능합니다.
내장된 미리보기 기능 없음
예제 코드에서 올바른 설정에 따라 달라집니다
대규모 PDF 조작에 적합하지 않습니다
원본 README
연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.
pdf_merger
A new Flutter plugin for merge List of PDF files. It supports both android and IOS. Before call this package make sure you allow permission and file picker see example.
Also check file_picker and permission handle to implement before calling the plugin.
PDF merger method
Merge Multiple PDF
//paths is a list of paths, example List<String> allSelectedFilePath. //outputDirPath is output path with filename, exmaple /user/android/download/ABC.pdfMergeMultiplePDFResponse response = awaitPdfMerger.mergeMultiplePDF(paths: filesPath, outputDirPath: outputDirPath);
if(response.status == "success") {
//response.response for output path in String//response.message for success message in String
}
Create PDF From Multiple Image
//paths is a list of paths, example List<String> allSelectedFilePath. //outputDirPath is output path with filename, exmaple /user/android/download/ABC.pdf//Optional params maxWidth : defalut set to 360, maxHeight : defalut set to 360, needImageCompressor : default set to true.CreatePDFFromMultipleImageResponse response = PdfMerger.createPDFFromMultipleImage(paths: filesPath, outputDirPath: outputDirPath);
if(response.status == "success") {
//response.response for output path in String//response.message for success message in String
}
Create Image From PDF
//paths selected file path (String). Example user/android.downlaod/MYPDF.pdf//outputDirPath is output path with filename, exmaple /user/android/download/ABC.pdf//Optional params maxWidth : defalut set to 360, maxHeight : defalut set to 360, createOneImage : default set to true.CreateImageFromPDFResponse response = awaitPdfMerger.createImageFromPDF(path: singleFile, outputDirPath: outputDirPath);
if(response.status == "success") {
//response.response for output path in List<String>//response.message for success message in String
}
Get File Size
//paths selected file path (String). Example user/android.downlaod/MYPDF.pdfSizeFormPathResponse response = awaitPdfMerger.sizeFormPath(path: singleFile);
if(response.status == "success") {
//response.response for size of file//response.message for success message in String
}
Build Info
BuildInfoResponse response = awaitPdfMerger.buildInfo();
Get.snackbar("Info", "App Name : " + response.appName + "\n" +
"Build Number : " + response.buildDate + "\n" +
"Build Number with Time : " + response.buildDateWithTime + "\n" +
"Package Name : " + response.packageName + "\n" +
"Version Number : " + response.versionNumber + "\n" +
"Build Number : " + response.buildNumber.toString() );
Android & IOS
Usage
See Example. Use with file picker and add permission handler before calling pdf_merger. Make sure to call permission handler for write permission before call pdf_merger.
file_picker
https://pub.dev/packages/file_picker
permission_handler
https://pub.dev/packages/permission_handler
Support
Android & IOS
For Android
Add these lines in your progaurd
//required to prevent errors from the spongycastle libraries
-keep classorg.spongycastle.** { *; }
-dontwarn org.spongycastle.**