#react-native #pdf #expo
Вопрос:
Я создаю приложение для отслеживания расходов, в котором я хочу, чтобы создавался отчет в формате pdf обо всех транзакциях. Поэтому я пытаюсь демонстрационно использовать печать pdf с помощью expo со следующим кодом:
import React, {Component} from 'react';
import { StyleSheet, Text, View, TouchableHighlight } from 'react-native';
import { Print } from 'expo-print';
export default function Pdf() {
async function createPDF() {
let filePath = await Print.printToFileAsync({
html: "<h1>PDF TEST</h1>",
width : 612,
height : 792,
base64 : false
});
alert('PDF Generated', filePath.uri);
}
return(
<View>
<TouchableHighlight onPress={createPDF} style={styles.Main}>
<Text>Create PDF</Text>
</TouchableHighlight>
</View>
)
}
const styles = StyleSheet.create({
Main : { marginTop : 100 }
});
Но ошибка продолжает показывать возможное необработанное отклонение обещания (идентификатор 0) ошибка типа неопределенная не является объектом (оценка ‘_expoPrint.Print.printToFileAsync’).
Я не мог понять, в чем главная проблема. Я тоже ненавижу добавлять разрешения пользователя на чтение и запись, но он продолжает показывать эту ошибку.
Комментарии:
1. Можете ли вы попробовать использовать : «импорт * как печать с ‘expo-print’;» вместо «импорт { Печать } с ‘expo-print’;»
2. Спасибо, что работает, но я не могу увидеть файл, в котором он был сохранен, и не могу его просмотреть. У тебя есть какие — нибудь идеи по этому поводу?