Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to open/display documents(.pdf, .doc) without external app?

Tags:

I want to create a program, that open documents without external app. I need this, because i want to scroll the document with the phones orientation(Pitch and Roll). I create a button on the bottom of the screen, and when i hold down the button, i can scroll the document too. If i release the button, i can't scroll it. So, if i open the document with external app, my button disappears, and the sensorManager works neither.

Have someone any idea to solve this problem. Or have someone any idea, how to scroll the document, opened in an external app, with my phones orientation?

(Sorry for my English)

This is my manifest:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.orientationscrolling" android:versionCode="1" android:versionName="1.0" >  <uses-sdk     android:minSdkVersion="8"     android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.INTERNET" />  <application     android:allowBackup="true"     android:icon="@drawable/ic_launcher"     android:label="@string/app_name"     android:theme="@style/AppTheme" >     <activity         android:name="com.example.orientationscrolling.MainActivity"         android:label="@string/app_name" >         <intent-filter>             <action android:name="android.intent.action.MAIN" />              <category android:name="android.intent.category.LAUNCHER" />         </intent-filter>     </activity> </application> </manifest> 

This is my Layout:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" >  <WebView     xmlns:android="http://schemas.android.com/apk/res/android"     android:id="@+id/webView1"     android:layout_width="match_parent"     android:layout_height="match_parent" />  <LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:layout_width="match_parent"     android:layout_height="match_parent"     android:gravity="bottom"     android:orientation="vertical" >  <Button     android:id="@+id/mybutt"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="25sp"    android:text="Scroll!!"    android:layout_gravity="right"/> </LinearLayout> 

This is my Code:

protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      setContentView(R.layout.activity_main);      setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);     button = (Button) findViewById( R.id.mybutt );      String pdf = "http://www.pc-hardware.hu/PDF/konfig.pdf";     String doc="<iframe src='http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf' width='100%' height='100%' style='border: none;'></iframe>";     webView = (WebView) findViewById(R.id.webView1);     webView.getSettings().setJavaScriptEnabled(true);     webView.getSettings().setPluginsEnabled(true);     webView.getSettings().setAllowFileAccess(true);     webView.loadData( doc , "text/html", "UTF-8"); } 
like image 764
KhalDrogo Avatar asked Jan 29 '13 08:01

KhalDrogo


People also ask

How can I view PDF files on my Android without downloading?

Turns out that a new feature crept up in Google Drive's 2.3. 544.17 release on January 28. If you have that version or the newer 2.3. 583.13 installed, you'll see that tapping on PDF links in any app (SMS, Chrome, Twitter, WhatsApp, etc...) will immediately open Drive's PDF viewer and start loading them there.

Which app is used to open DOC?

You can upload and download files with the Google Docs app for Android. Import: You can open and edit DOC, DOCX, ODT, TXT, RTF, and HTML files.

How do I open DOC files on Android?

Using Microsoft Word for Android to Open Doc/Docx Files Grab the Microsoft Word app on the Play Store. Once the app finishes the installation process, tap the '. doc' or '. docx' file on your phone, then select Word from the list of apps available.

How do I open PDF files on Android browser?

Open and read PDFs on Android.Download and install Acrobat Reader from the Google Play Store. Launch the app. On the bottom menu bar, select Files. Locate your PDF file on your Android and select it.


1 Answers

I think you should use custom library for getting that done .See this and this

But there is a way for displaying PDF with out calling another application

This is a way for showing PDF in android app that is embedding the PDF document to android webview using support from http://docs.google.com/viewer

pseudo

String doc="<iframe src='http://docs.google.com/viewer?url=+location to your PDF File+'                width='100%' height='100%'                style='border: none;'></iframe>"; 

a sample is is shown below

 String doc="<iframe src='http://docs.google.com/viewer?url=http://www.iasted.org/conferences/formatting/presentations-tips.ppt&embedded=true'                width='100%' height='100%'                style='border: none;'></iframe>"; 

Code

    WebView  wv = (WebView)findViewById(R.id.webView);      wv.getSettings().setJavaScriptEnabled(true);     wv.getSettings().setPluginsEnabled(true);     wv.getSettings().setAllowFileAccess(true);     wv.loadUrl(doc);     //wv.loadData( doc, "text/html",  "UTF-8"); 

and in manifest provide

<uses-permission android:name="android.permission.INTERNET"/> 

See this

Caution : I am not aware of compatibility issues with various android versions

In this approach the drawback is you need internet connectivity . But i think it satisfy your need

EDIT Try this as src for iframe

src="http://docs.google.com/gview?embedded=true&url=http://www.pc-hardware.hu/PDF/konfig.pdf" 

try wv.loadData( doc , "text/html", "UTF-8"); . Both works for me

enter image description hereenter image description here

like image 51
edwin Avatar answered Dec 05 '22 03:12

edwin