1.7.3 • Published 3 months ago

@spinacia_/file-viewer v1.7.3

Weekly downloads
-
License
MIT
Repository
-
Last release
3 months ago

Introduction

A file viewer component in Typescript. The file type is detected by checking the magic number.

Installation

npm install @spinicia_/file-viewer
pnpm add @spinacia_/file-viewer

Usage

<script setup lang="ts">
import { ref } from 'vue'
import { FileViewer } from '@spinacia_/file-viewer/dist'
import '@spinacia_/file-viewer/dist/style.css'

import testUrl from '@/assets/files/testFile.pdf?url'

const sourceData = ref<Response>()

const loadFile = async () => {
  fetch(testUrl).then((res: Response) => {
    sourceData.value = res
  }
}

// const clearFile = () => { sourceData.value = undefined }
</script>

<template>
  <button @click="loadFile">Load file</button>
  <FileViewer :res="sourceData" class="viewer-container" />
</template>

<style scoped>
.viewer-container {
  width: 60vw;
  height: 80vh;
}
</style>

or specify the type in props:

<script setup lang="ts">
import { ref } from 'vue'
import { FileViewer, readFileTypeFromBlob } from '@spinacia_/file-viewer/dist'
import '@spinacia_/file-viewer/dist/style.css'

import testUrl from '@/assets/files/testFile.pdf?url'

const blobData = ref<Blob>()
const type = ref<string>()

const loadFile = async () => {
  fetch(testUrl).then(async (res: Response) => {
    const blob = await res.clone().blob()
    type.value = (await readFileTypeFromBlob(blob)).ext
    blobData.value = blob
  }
}

// const clearFile = () => { blobData.value = undefined }
</script>

<template>
  <button @click="loadFile">Load file</button>
  <FileViewer :blob="blobData" :type="type" />
</template>

and all supported types can be checked in XXX_TYPE variables:

import { Image_Type, Pdf_Type, Text_Type, Excel_Type, Word_Type } from '@spinacia_/file-viewer/dist'

Props

namedefaulttypedescription
refundefinedResponsefile source data
blobundefinedBlobfile source data
typeundefinedstringif the file type is not passed in props, its type will be automatically detected by checking the magic number
changefalsebooleanif true, the image can be zoomed, dragged and rotated, the pdf can be zoomed
fitcontaincontain/cover/fill/none/scale-downindicate how the image should be resized to fit its container, same as object-fit
watermarkundefinedstringlabel of watermark which will be shown in pdf
watermarkProps{}Objectwatermark options
paginationundefinednumberitem count of each page in pdf pagination
downloadfalsebooleanif true, the pdf file can be downloaded
filenameundefinedstringfilename of pdf file, which will be used in download function
scrollColorrgba(150,150,150,0.15)stringcolor of -webkit-scrollbar-thumb
scrollHoverColorrgba(150,150,150,0.3)stringcolor of -webkit-scrollbar-thumb:hover

Supported file types

  • images: .jpg .png .gif .bmp .webp .svg
  • word: .docx
  • pdf: .pdf
  • plain text: .txt
1.7.3

3 months ago

1.7.2

3 months ago

1.7.1

4 months ago

1.6.1

1 year ago

1.6.0

1 year ago

1.5.1

1 year ago

1.5.0

1 year ago

1.3.2

1 year ago

1.4.0

1 year ago

1.3.1

1 year ago

1.3.0

1 year ago

1.2.0

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.1.1

1 year ago

1.1.0

1 year ago

1.1.2

1 year ago

1.0.0

1 year ago