본문 바로가기

Flutter & Dart

[Flutter] 파일 뷰어를 만들어보자 [power_file_viewer_v2]

반응형

Flutter 앱에서 TXT, PDF, DOCX 등 다양한 파일을 손쉽게 열람할 수 있는 방법을 찾고 계신가요? 오늘은 power_file_viewer_v2 패키지를 활용해 파일 뷰어를 만드는 방법을 단계별로 소개합니다.

 

1. 패키지 설치

먼저 pubspec.yaml 파일에 power_file_viewer_v2를 추가합니다.

 
 
dependencies:
  flutter:
    sdk: flutter
  power_file_viewer_v2: ^1.0.5  # 최신 버전 확인 필요

터미널에서 다음 명령어로 패키지를 설치합니다.

 
flutter pub get

2. 기본 사용법

PowerFileViewer 위젯을 사용하면 간단하게 파일을 열 수 있습니다.

 
import 'package:flutter/material.dart';
import 'package:power_file_viewer_v2/power_file_viewer_v2.dart';

class FileViewerPage extends StatelessWidget {
  final String filePath;

  FileViewerPage({required this.filePath});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("파일 뷰어")),
      body: PowerFileViewer(
        file: File(filePath), // 로컬 파일 경로
        canShare: true,        // 공유 기능
        canPrint: true,        // 인쇄 기능
      ),
    );
  }
}
  • file: 로컬에 저장된 파일(File 객체) 또는 URL을 통해 가져올 수 있습니다.
  • canShare: 파일 공유 가능 여부
  • canPrint: 파일 인쇄 가능 여부

3. 파일 선택 후 뷰어 연결

보통은 사용자가 파일을 선택하고 뷰어로 열도록 만들고 싶죠. file_picker 패키지와 함께 사용하면 쉽게 구현할 수 있습니다.

 
import 'package:file_picker/file_picker.dart';

Future<void> pickAndViewFile(BuildContext context) async {
  FilePickerResult? result = await FilePicker.platform.pickFiles(
    type: FileType.any,
  );

  if (result != null) {
    String filePath = result.files.single.path!;
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) => FileViewerPage(filePath: filePath)),
    );
  }
}

4. 지원 파일 형식

power_file_viewer_v2는 다양한 형식 지원:

  • PDF
  • DOC, DOCX
  • TXT
  • XLS, XLSX
  • PPT, PPTX
  • 이미지 파일(JPG, PNG 등)

주의: 일부 파일은 플랫폼(Android/iOS) 환경에 따라 추가 설정이 필요할 수 있습니다.


5. 고급 옵션

PowerFileViewer는 다음과 같은 추가 옵션도 제공합니다.

  • themeMode: 다크/라이트 모드 적용
  • initialPage: PDF 등의 초기 페이지 지정
  • autoZoom: PDF 확대/축소 자동 적용
 
PowerFileViewer(
  file: File(filePath),
  themeMode: ThemeMode.dark,
  initialPage: 2,
  autoZoom: true,
)

 


6. 결론

power_file_viewer_v2는 Flutter에서 다양한 파일을 손쉽게 열람할 수 있게 해주는 강력한 패키지입니다.
간단한 코드만으로도 파일 뷰어를 구현할 수 있으며, 필요하다면 공유, 인쇄, 테마 등 다양한 기능을 추가할 수 있습니다.

반응형