谷歌文档查看器不能在本地主机上工作吗?
Posted
技术标签:
【中文标题】谷歌文档查看器不能在本地主机上工作吗?【英文标题】:Is Google Doc viewer can't work on localhost? 【发布时间】:2019-12-14 17:26:31 【问题描述】:我是安卓新手。我试图通过来自本地主机的 url 在 android 应用程序的 Google 文档查看器中打开 pdf 文件。但是谷歌查看器显示“没有可用的预览”,而 url 在浏览器上工作正常。 google viewer 无法在 localhost url 上工作还是有错误。?
【问题讨论】:
不,Google 文档查看器可以与在线可用的网站配合使用。您需要为您的本地主机找到另一个解决方案 【参考方案1】:Google Doc viewer 可与在线可用的网站配合使用。 而是使用这种方法:
导入库:
implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
implementation 'com.github.kk121:File-Loader:1.2'
implementation 'com.karumi:dexter:5.0.0'
和
allprojects
repositories
maven url "https://jitpack.io"
在 main.xml 中:
<com.github.barteksc.pdfviewer.PDFView
android:id="@+id/pdf_viewer"
android:layout_
android:layout_/>
创建:
Dexter.withActivity(this)
.withPermissions(Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE)
.withListener(new BaseMultiplePermissionsListener()
@Override
public void onPermissionsChecked(MultiplePermissionsReport report)
super.onPermissionsChecked(report);
@Override
public void onPermissionRationaleShouldBeShown(List<PermissionRequest> permissions, PermissionToken token)
super.onPermissionRationaleShouldBeShown(permissions, token);
).check();
pdfView = (PDFView) findViewById(R.id.pdf_viewer);
FileLoader.with(this)
.load(url)
.fromDirectory("PDFFiles",FileLoader.DIR_EXTERNAL_PUBLIC)
.asFile(new FileRequestListener<File>()
@Override
public void onLoad(FileLoadRequest request, FileResponse<File> response)
File pdfFile = response.getBody();
pdfView.fromFile(pdfFile)
.password(null).defaultPage(0).enableSwipe(true).swipeHorizontal(false)
.enableDoubletap(true).onDraw(new OnDrawListener()
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage)
//code if require
)
.onDrawAll(new OnDrawListener()
@Override
public void onLayerDrawn(Canvas canvas, float pageWidth, float pageHeight, int displayedPage)
//code if require
)
.onPageError(new OnPageErrorListener()
@Override
public void onPageError(int page, Throwable t)
Toast.makeText(getApplicationContext(),"Error Occur ",Toast.LENGTH_LONG).show();
)
.onPageChange(new OnPageChangeListener()
@Override
public void onPageChanged(int page, int pageCount)
//code if require
)
.onTap(new OnTapListener()
@Override
public boolean onTap(MotionEvent e)
return true;
)
.onRender(new OnRenderListener()
@Override
public void onInitiallyRendered(int nbPages, float pageWidth, float pageHeight)
pdfView.fitToWidth();
)
.enableAnnotationRendering(true)
.invalidPageColor(Color.WHITE)
.load();
@Override
public void onError(FileLoadRequest request, Throwable t)
Toast.makeText(getApplicationContext(),""+t.getMessage(),Toast.LENGTH_LONG).show();
);
在 AndroidManifest.xml 中:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:usesCleartextTraffic="true"> </application>
【讨论】:
它是否也适用于 MS Office 文档?能否请您为 Angular 提供类似的 sn-ps?以上是关于谷歌文档查看器不能在本地主机上工作吗?的主要内容,如果未能解决你的问题,请参考以下文章