Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to register the app to open the pdf file in my app in ipad

i want to open the pdf file in my app from pdf page, but i am not getting any option of opening the pdf in my app.

this my info.plist file

 <key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
    <key>CFBundleTypeName</key>
    <string>PDF</string>
    <key>CFBundleTypeRole</key>
            <string>Viewer</string>     
    <key>CFBundleTypeIconFiles</key>
    <string>Icon.png</string>
    <key>LSItemContentTypes</key>
    <string>com.neosofttech.pdf</string>
    <key>LSHandlerRank</key>
    <string>Owner</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
   <array>
   <dict>
    <key>UTTypeConformsTo</key>
        <array>

<string>public.pdf</string>       
         </array>
    <key>UTTypeDescription</key>
    <string>PDFReader File</string>
    <key>UTTypeIdentifier</key>
    <string>com.neosofttech.pdf</string>
    <key>UTTypeTagSpecification</key>
    <dict>
        <key>public.filename-extension</key>
        <string>pdf</string>

    </dict>
</dict>

pls tell me where i am wrong in this, how can i open the pdf file in my app.

like image 291
uttam Avatar asked Jun 04 '10 12:06

uttam


People also ask

How do I add a PDF to Apple app?

On your Mac, open Apple Books. Then find your PDF file in the Finder or on your Desktop and drag the file into your Library. Your PDF will be available in the Books app on any iPhone, iPad, iPod touch, or Mac, as long as you're signed into the same Apple ID and have iCloud Drive turned on for Books.

What app can I use for PDF on iPad?

PDF Expert took the crown way back in 2013 and PDF Expert continues to be the very best PDF option for iPads in 2021 and beyond. Many apps have come and gone, while others have debuted and given PDF Expert a run for its money.

In which app we can open the PDF?

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.


2 Answers

I'm assuming that you're trying to open an attachment from within Mail based on your plist here. Since you don't own the PDF file type you can't declare it as an exported type. You only need to declare it as a supported document type.

For example:

<key>CFBundleDocumentTypes</key>
<array>
    <dict>
        <key>CFBundleTypeName</key>
        <string>PDF</string>
        <key>LSHandlerRank</key>
        <string>Alternate</string>
        <key>LSItemContentTypes</key>
        <array>
            <string>com.adobe.pdf</string>
        </array>
    </dict>
</array>

You can find a list of all of the system supplied content types here or in UTCoreTypes.h.

When someone does open a PDF file and chooses your application that file will be copied to an Inbox subdirectory of your Documents folder in your app sandbox. Your app will then be opened and within your app delegate's application:didFinishLaunchingWithOptions: your launchOptions dictionary will contain a UIApplicationLaunchOptionsURLKey key specifying the URL of the file within your sandbox that you can then work with.

like image 189
Ashley Clark Avatar answered Nov 16 '22 03:11

Ashley Clark


You can't do what you're trying to do unless you do the following:

  • Register a custom url with the system
  • Call that custom url from within a hyperlink inside the PDF
  • Generate a PDF with clickable links

So what this means is that you register a custom url handler in your info.plist. For example, let's say you create a custom url handler with the form coolapp://. Now, inside of your document from which you generate the PDF, when you create a hyperlink, have it use your custom URL, for example coolapp://filedetails?pdfurl=mywebsite.com/path/to/pdffile.pdf&pageno=5. You then have to parse this in -application:handleOpenURL:. Download the file specified in the pdfurl field and then jump to the page specified in pageno.

Keep in mind that this assumes you are creating the PDF in question yourself. If you do not control the PDF content creation process, you cannot do what you are wanting to do. There is no way to open your app from an arbitrary PDF. It has to be done using a custom URL.

Let me know if you need clarification.

like image 36
Matt Long Avatar answered Nov 16 '22 03:11

Matt Long