使用未在 IOS 上显示的表单字段值在 React Native 中显示 PDF

Posted

技术标签:

【中文标题】使用未在 IOS 上显示的表单字段值在 React Native 中显示 PDF【英文标题】:Display PDF in React Native using Forms Field value not showing on IOS 【发布时间】:2021-05-06 13:51:51 【问题描述】:

我正在尝试使用 react-native-pdf 在我们的应用程序上创建查看器并尝试使用 react-native-view-pdf,但我在 ios 上的 PDF 表单字段存在问题,值/数据未显示。但是当该字段被聚焦/点击时,它将显示值/数据。在 android 上,Forms 字段数据按预期显示。 IOS上的图片如下所示:

IOS PDF first load

IOS PDF Field tapped/focused

使用 react-native-pdf:

<View style= flex: 1 >
    <Pdf
        minScale=1.0
        maxScale=1.0
        scale=1.0
        spacing=0
        fitPolicy=2
        enablePaging=true
     // onTouchStart=(e) => 
     //     console.log('touchMove', e.nativeEvent);
     //     if (this.state.pdfEditMode) 
     //         this.setState( showDraggrable: false, cxValue: e.nativeEvent.locationX, cyValue: e.nativeEvent.locationY, xValue: e.nativeEvent.locationX, yValue: e.nativeEvent.locationY , () => 
     //             setTimeout(() => 
     //                 this.setState( showDraggrable: true, )
     //             , 0)
     //         )
     //     
     // 
        usePDFKit=false
        source= uri: `data:application/pdf;base64,$this.state.pdfBase64` 
        onLoadComplete=(numberOfPages, filePath,  width, height ) =>  this.setPageWH(width, height) 
        onPageChanged=(page, numberOfPages) => 
            console.log(`current page: $page`);
            this.setState( pageNumber: page );
        
        onError=(error) => 
            console.log(error);
        
        onPressLink=(uri) => 
            console.log(`Link presse: $uri`)
        
       // onPageSingleTap=(page, x, y) => 
       //     console.log(x, y)
       //     this.handleSingleTap(page, x, y);
       // 
         style=styles.pdf/> </View>

使用 react-native-view-pdf

<View style= flex: 1>     
    <PDFView
        fadeInDuration=250.0
        style=styles.pdf
        resource=this.state.pdfBase64
        resourceType='base64'
        onLoad=() => console.log(`PDF rendered from base64`)
        onError=(error) => console.log('Cannot render PDF', error)/> 
    </View>

库版本:

 "react": "16.6.3",
 "react-native": "0.58.1",
 "react-native-pdf": "^5.1.7",
 "react-native-view-pdf": "^0.11.0",

【问题讨论】:

【参考方案1】:

这将在 IOS 模拟器上而不是在物理设备上。在物理设备上试了一下,填充的值都显示出来了。

【讨论】:

以上是关于使用未在 IOS 上显示的表单字段值在 React Native 中显示 PDF的主要内容,如果未能解决你的问题,请参考以下文章

表单输入的值在 React 中提交时未更新

Xamarin 表单文件选择器未在 ios 上显示相机胶卷或图像库

React Native Image 未在 iOS 上显示

警报视图中的文本字段未在 iOS 7 上显示 [关闭]

显示后焦点()未在输入字段上设置(使用参考)

根据值在 Admin 中自定义 Django 表单字段