Я провел последние несколько дней, играя с реакцией-native-html-to-pdf (https://github.com/christopherdro/react-native-html-to-pdf), реагировать-на-на-mail (by chirag04) и реагировать -view-pdf (by cnjon)пытается создать PDF-файл и просмотреть его или отправить по электронной почте с помощью React Native
Есть еще одна версия реакции-native-mail от parkerdan, которую я еще должен попробовать, но версия chrirag04 в корне исказила все мои проекты и была больно удалять.
response-native-html-to-pdf, похоже, не создает никаких ошибок, и я не могу получить доступ к создаваемому PDF-файлу. вот фрагмент кода, который я бегу:
import RNHTMLtoPDF from 'react-native-html-to-pdf';
import PDFView from 'react-native-pdf-view';
...
createPDF() {
var options = {
html: '<h1>PDF TEST</h1>', // HTML String
// ****************** OPTIONS BELOW WILL NOT WORK ON ANDROID **************
fileName: 'test', /* Optional: Custom Filename excluded extention
Default: Randomly generated
*/
directory: 'docs', /* Optional: 'docs' will save the file in the `Documents`
Default: Temp directory
*/
height: 800, /* Optional: 800 sets the height of the DOCUMENT that will be produced
Default: 612
*/
width: 1056, /* Optional: 1056 sets the width of the DOCUMENT that will produced
Default: 792
*/
padding: 24, /* Optional: 24 is the # of pixels between the outer paper edge and
corresponding content edge. Example: width of 1056 - 2*padding
=> content width of 1008
Default: 10
*/
};
RNHTMLtoPDF.convert(options).then((filePath) => {
AlertIOS.alert(
'creat pdf',
'filePath=' + filePath
);
return (
<PDFView ref={(pdf)=>{this.pdfView = pdf;}}
src={filePath}
onLoadComplete = {(pageCount)=>{
this.pdfView.setNativeProps({
zoom: 1.5
});
}}
/>
)
});
};
, а затем в коде я называю его:
<TouchableHighlight onPress={this.createPDF} style={styles.button}>
<Text>create pdf </Text>
</TouchableHighlight>
Я получаю AlertIOS, с что-то похожее на допустимый путь к файлу (любой намек на проверку пути правильный, дайте мне знать) Но все-таки я, кажется, не нашел документ test.pdf в любом месте. Может ли кто-нибудь сказать, что я делаю неправильно?
Большое спасибо, Cheufte
Вы связываете свой метод в конструкторе? Если нет, попробуйте изменить onPress на 'onPress = {this.createPDF.bind (this)}' и посмотреть, не является ли это вашей проблемой. –
Спасибо, Мэтт. это не имеет никакого значения. Предупреждение показывает, что функция RNHTMLtoPDF.convert запускается, как ожидалось. Я просто набрал путь к файлу, указанный в командной строке, и нашел документ. Поэтому, наверное, мой вопрос заключается в том, как использовать этот документ? как я могу отобразить его с помощью pdfview? – cheufte