วิธีแสดง PDF ผ่านเว็บเบราว์เซอร์ Android โดยไม่ต้อง "ดาวน์โหลด" ก่อน


92

มีวิธีใดบ้างที่จะทำให้เบราว์เซอร์ Android เปิดไฟล์ PDF, Word หรือไฟล์ทั่วไปโดยอัตโนมัติโดยไม่ต้องผ่านขั้นตอนการดาวน์โหลดไฟล์จากนั้นให้ผู้ใช้เปิดไฟล์จากแอปดาวน์โหลดหรือแถบการแจ้งเตือน เหรอ?

เรามีเว็บแอปพลิเคชันที่มีเอกสารจำนวนมากที่เราต้องการรวมไว้และไม่ต้องแปลงเป็น HTML แต่การทำให้ผู้ใช้ดาวน์โหลดไฟล์และเปิดด้วยตนเองนั้นไม่ใช่เรื่องง่ายในการฝึกอบรมผู้ใช้

บน iOS ไฟล์เหล่านี้ทั้งหมดจะแสดงแบบอินไลน์ในเบราว์เซอร์ ฉันต้องการวิธีให้เบราว์เซอร์เปิดใช้งานไฟล์โดยอัตโนมัติใน Acrobat Reader หรือ QuickOffice หรือโปรแกรมอะไรก็ตามที่ผู้ใช้ต้องแสดง

ไม่มีใครรู้วิธีการทำเช่นนั้น? ฉันรู้ว่า Google เอกสารมีการรองรับการดู PDF แต่ผู้ที่ใช้แอปพลิเคชันเว็บของเราอาจไม่สามารถเข้าถึงอินเทอร์เน็ตสาธารณะได้ในทุกกรณีและอาจเข้าใช้งานบนเว็บเซิร์ฟเวอร์ภายใน


1
ฉันไม่เคยเห็นมันทำงานได้ขนาดนั้น ดังที่กล่าวมาฉันคิดว่าคุณสามารถสร้างเบราว์เซอร์ของคุณเองที่สามารถถอดรหัสและแสดงไฟล์ pdf ได้อย่างเหมาะสม ฉันไม่เชื่อว่าเบราว์เซอร์ยอดนิยมใด ๆ รองรับสิ่งนี้
FoamyGuy

ไฟล์ PDF ของคุณเหมาะสำหรับ "Fast Web View" หรือไม่ หากไม่เป็นเช่นนั้นจะไม่สามารถแสดงได้ในขณะที่ยังอยู่ระหว่างการดาวน์โหลดดังนั้นจึงสามารถดาวน์โหลดได้จากนั้นจึงแสดง
Robert

คำตอบ:


66

คุณสามารถเปิด PDF ใน Google Docs Viewer โดยต่อท้าย URL กับ:

http://docs.google.com/gview?embedded=true&url=<url of a supported doc>

สิ่งนี้จะเปิด PDF ในเบราว์เซอร์เริ่มต้นหรือ WebView

รายการของรูปแบบได้รับการสนับสนุนจะได้รับที่นี่


4
สิ่งนี้มีประโยชน์มากขอบคุณ ฉันไม่แน่ใจว่าจำเป็น 100% แต่มันก็คุ้มค่าที่จะกล่าวถึงว่า <url ของเอกสารที่รองรับ> ควรเป็น urlencoded
mason81

2
สิ่งนี้ใช้ไม่ได้สำหรับฉัน ... เพียงแค่แสดงหน้า "อ๊ะ! มีปัญหาในการดูตัวอย่างเอกสารนี้" พร้อมปุ่มดาวน์โหลด ไม่มีอะไรเกิดขึ้นเมื่อคุณคลิกที่ปุ่มดาวน์โหลด
Lee Yi Hong

25
ลิงก์ด้านบนไม่สามารถใช้งานได้กับ Chrome บน Android ฉันเปลี่ยนไปhttps://drive.google.com/viewerng/viewer?embedded=true&url=####ใช้งานได้!
QFDev

2
สวัสดีดูเหมือนว่า URL ในคำตอบจะใช้งานไม่ได้อีกต่อไป ฉันได้รับการวนซ้ำที่ไม่มีที่สิ้นสุดในขณะนี้ในตัวฟัง webView URL ที่โพสต์ในความคิดเห็นจากQFDevใช้งานได้
ยีนบ่อ

สิ่งนี้ยังคงบันทึกเอกสารลงในไดเร็กทอรี temp android ของคุณหากฉันจำได้อย่างถูกต้อง
Jean-Paul

24

คุณสามารถใช้รูปแบบนี้ได้ตั้งแต่วันที่ 4/6/2017

https://docs.google.com/viewerng/viewer?url=http://yourfile.pdf

เพียงแทนที่http: //yourfile.pdfด้วยลิงก์ที่คุณใช้


วิธีที่ดีที่สุดในการดูตัวอย่างโดยไม่ต้องดาวน์โหลดแบบเต็ม
Pratik Saluja

4

โดยเฉพาะอย่างยิ่งในการติดตั้งปลั๊กอิน pdf.js สำหรับ firefox คุณไม่ได้ใช้ app store ให้ไปที่ addons.mozilla.org จากภายใน mozilla แล้วติดตั้งจากที่นั่น นอกจากนี้หากต้องการดูว่ามีการติดตั้งอย่างถูกต้องหรือไม่ให้ไปที่เมนู Tools: Add-ons (ไม่ใช่ url "about: plugins" อย่างที่คุณคิดจากเวอร์ชันเดสก์ท็อป)

(บัญชีใหม่มิฉะนั้นฉันจะใส่เป็นความคิดเห็นในคำตอบด้านบน)



3

ฉันต้องการสิ่งนี้เช่นกันและลิงก์ด้านบนหยุดทำงานดังนั้นนี่คือสิ่งที่ฉันพบว่าใช้งานได้กับ Google ไดรฟ์ใหม่:

Google มีบริการที่สร้างลิงค์สำหรับ PDF's Not in GDrive: https://docs.google.com/viewer เพียงแค่เพิ่ม URL ของคุณและสร้างลิงค์และโค้ด IFrame (ดูอย่างใกล้ชิดแล้วคุณจะเห็นรูปแบบและสร้างลิงก์ ไม่มีบริการเว็บนี้)

นอกจากนี้ยังมีวิธีทำ PDF ที่เก็บไว้ใน Google Drive: https://docs.google.com/viewer?srcid=YOUR_GDRIVE_PDF_DOC_ID_HERE&pid=explorer&efh=false&a=v&chrome=false&embedded=true (อาจเป็นลิงค์หรือ src ก็ได้ URL ของ iframe)

ฉันได้ทดสอบบน Android และเปิดโปรแกรมดู PDF ขึ้นมาอย่างสวยงาม


สำหรับฉันหากฉันยังไม่ได้ลงชื่อเข้าใช้ด้วยบัญชี Google ระบบจะนำฉันไปที่หน้าเข้าสู่ระบบ มีวิธีหลีกเลี่ยงสิ่งนี้และเพียงแค่ดู pdf หรือไม่?
h_k

ลองใช้viewerjs.org viewer.js ไฟล์ดูแนวโน้มเพราะมันเป็นเบราว์เซอร์ที่เป็นอิสระและอาศัยบนเซิร์ฟเวอร์ของคุณจะทำยกหนัก
user1493559

2

น่าเสียดายที่เบราว์เซอร์ดั้งเดิมที่มีอยู่ในอุปกรณ์ Android ไม่รองรับไฟล์ประเภทนี้ มาดูกันว่าในยุค 4.0 เราจะทำได้หรือไม่


2

คุณสามารถใช้สิ่งนี้

webView.loadUrl("https://docs.google.com/viewer?url=" + "url of pdf file"); 

ใครก็ได้ช่วยพูดถึงเหตุผลของการลดคะแนน
Akash Bisariya

อาจเป็นไปได้ว่าคำตอบของคุณเป็นประโยชน์สำหรับเทคนิคการเขียนโปรแกรมบางอย่างและคำตอบอาจเป็นเพียง URL แต่ฉันสามารถเพิ่มลงในแท็ก anchor ซึ่งได้กล่าวไว้แล้วข้างต้น
Siddaram H

@akash บางทีคุณอาจต้องการคำอธิบายเพิ่มเติม เป็นกฎของที่นี่
huzain07

2
  Try this, worked for me.

    WebView view = (WebView) findViewById(R.id.yourWebView);

    view.getSettings().setJavaScriptEnabled(true);
    view.getSettings().setPluginState(WebSettings.PluginState.ON);
    view.loadUrl("http://docs.google.com/gview?embedded=true&url="
                  +"your document link(pdf,doc,docx...etc)");

setPluginState ON เป็นสิ่งสำคัญขอบคุณที่กล่าวถึง
Beeing Jk

@BeeingJk setPluginStateเลิกใช้ API 18 ( stackoverflow.com/questions/19362049/… )
CoolMind

@CoolMind สิ่งที่คุณแสดงในลิงค์setPluginsEnabledมากกว่าsetPluginState
Beeing Jk

@BeeingJk โปรดเปิดหน้าอีกครั้งกด Ctrl + F เขียน "setPluginState" แล้วกด Enter
CoolMind

@CoolMind โอเคขอบคุณที่ฉันเห็นมันที่นี่developer.android.com/reference/android/webkit/…แต่ฉันไม่สามารถลบsetPluginStateอย่างอื่น webview ของฉันไม่ทำงาน
Beeing Jk

1
public class MainActivity extends AppCompatActivity {

    Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openURL("http://docs.google.com/viewer?url=" + " your pdf link ");
            }
        });
    }

    private void openURL(String s) {
        Uri uri = Uri.parse(s);
        Intent intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(uri,"text/html");
        startActivity(intent);
    }
}

-5
  • ดาวน์โหลดไฟล์ acrobat reader. apk สำหรับ android เพื่อแสดงไฟล์ pdf
  • ใส่ไฟล์ pdf ของคุณลงในการ์ด sd
  • ใช้ข้อมูลโค้ดด้านล่าง

    File file= new File("/sdcard/test.pdf");
    Uri path=Uri.fromFile(file);
    Intent i =new Intent(Intent.ACTION_VIEW);
    i.setDataAndType(path,"application/pdf");
    i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(i);
    

4
สิ่งนี้มีไว้สำหรับเว็บเบราว์เซอร์ไม่ใช่แอปพลิเคชัน Android ดั้งเดิม -1
ryandawkins
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.