我正在使用react-native-view-pdf在我的react-native应用程序中显示pdf。我使用的参考是https://www.npmjs.com/package/react-native-view-pdf。我在下面使用代码=>
import PDFView from 'react-native-view-pdf';
const resources = {
file: Platform.OS === 'ios' ? 'sample.pdf' : '../assets/sample.pdf',
};
export default class App extends React.Component {
render() {
const resourceType = 'file';
return (
<View style={{ flex: 1 }}>
{/* Some Controls to change PDF resource */}
<PDFView
fadeInDuration={250.0}
style={{ flex: 1 }}
resource={resources[resourceType]}
resourceType={resourceType}
onLoad={() => console.log(`PDF rendered from ${resourceType}`);}
onError={() => console.log('Cannot render PDF', error)}
/>
</View>
);
}
}
首先,我在onLoad={}
行中遇到语法错误
当我删除该行时,我将遇到以下图像链接中所示的错误。
https://i.stack.imgur.com/shwgL.jpg
我也尝试通过使用README.md手动更改它来进行尝试,其中包括以下=>
安卓系统android/app/src/main/java/[...]/MainApplication.java
import com.rumax.reactnative.pdfviewer.PDFViewPackage;
添加到文件顶部的导入new PDFViewPackage()
添加到getPackages()
方法返回的列表中android/settings.gradle
:
include ':react-native-view-pdf'
project(':react-native-view-pdf').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-view-pdf/android')
android/app/build.gradle
中的依赖关系块中:
compile project(':react-native-view-pdf')
我先用过:
“ node_modules / react-native-view-pdf / android / build.gradle”(在文档中为“ android / app / build.gradle”)
我用了第二个:
“ node_modules / react-native-view-pdf / android / src / main / java / com / rumax / reactnative / pdfviewer / PDFView.java”(在文档中为“ MainApplication.java”)
第三个文件是:
在“ node_modules / react-native-view-pdf / android /”中找不到的“ android / settings.gradle”
所以我无法手动设置它。
可能是我使用了错误的文件路径来手动设置它。如果有人对此有任何想法或建议,以更好的方式解决。请帮帮我。
或者,如果还有其他方法可以解决"displaying a pdf in react-native"
,请也提供给我。
答案 0 :(得分:1)
手动设置链接问题即可解决,而不是通过在命令提示符下使用命令集RNFB_ANDROID_PERMISSIONS = true来解决。
但是现在在[link] https://www.npmjs.com/package/react-native-view-pdf中使用这种格式仍然出现错误 任何对此有想法的人。或任何其他以react-native格式显示pdf的方式,请告诉我。
答案 1 :(得分:0)
您可以尝试手动链接或重新检查所有内容放置是否正确
在android/app/build.gradle
中,添加/检查
implementation project(':react-native-view-pdf')
在android/settings.gradle
中,添加:
include ':react-native-view-pdf'
project(':react-native-view-pdf').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-view-pdf/android')
在MainApplication.java
中添加/检查
import com.rumax.reactnative.pdfviewer.PDFViewPackage;
然后在其下方:
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new MapsPackage(),
new PDFViewPackage(), // Check here
new RCTPdfView(),
new MapsPackage(),
new RNFetchBlobPackage()
);
}
尝试检查所有内容,并让我知道您是否错过了插件链接
答案 2 :(得分:0)
尝试“ react-native-link react-native-view-pdf”。 它将解决问题。