Reading a PDF without knowing the stream size

Hi there,
while I'm able to successfully read a PDF file, the only way I can do it (based
on what I understood from PDF 1.7 specs) is to go to the end of the stream and
start from there (section 7.5.5).
But that requires the stream size to be known. While that is usually not a
problem (since the stream is usually a simple file), I would like to make my
library a little bit more generic, being able to handle any kind of stream, as
long as it is positioned at the start of a PDF document.
But unless I have missed something from the specs, when I'm dealing with a
stream of unknown size (one which might not even be fully loaded when I started
reading it, like a socket), there is not way to do it. I mean, I could do it,
but I would not be able to tell when I've reached the end of the document. Not
without some kind of length information (since I don't know where the stream
ends). I mean, where would I stop? At a trailer? That would only work if the
document have never been updated.
If right after the header (%PDF-) there was some kind of meta information about
the size of the document (after all updates, if any) I could move the stream to
that position (wait for the data to arrive, if needed) and work my way from
there (and to there, since I would know where the document ends). But from my
understanding, there is no way to retrieve this kind of information.
So, summing up, in order to successfully read a PDF document:
- I must always know the stream size (which I might not be able to)
- the stream must end with the PDF's data (which might also not always be true)
I am correct?

yeah,
I knew a little about linearization and but the idea was to help quick loading the very first page of a document while the rest of the data still is arriving. Not exactly what I needed here.
Anyway, you have just confirmed my fears, I will have to know the document size, where exactly it ends on my stream, in order to correctly load it.
I appreciate your help sir. Thanks for your time.
Best regards.

Similar Messages

  • Reading images from URL without knowing the format

    I have an image url like this: http://example.com/image.php?id=5605. How do I get the actual image from such an URL? I have tried using ImageIO.read and loading the url directly into an ImageIcon without success.

    yeah,
    I knew a little about linearization and but the idea was to help quick loading the very first page of a document while the rest of the data still is arriving. Not exactly what I needed here.
    Anyway, you have just confirmed my fears, I will have to know the document size, where exactly it ends on my stream, in order to correctly load it.
    I appreciate your help sir. Thanks for your time.
    Best regards.

  • But how do I create a new iTunes backup password without knowing the previous one?

    In case anyone keeps track of such things, I'm among those folks who really doesn't recall ever being asked to create an iTunes backup password, but that's irrelevant to my question.
    I'm not in any bind. I don't need my backup files to restore anything. I will shed no tears as they are moved to the Recycle Bin (indeed, I will gladly do the deed myself).
    That said, it appears impossible to create a new backup password without knowing the previous one.
    If the only "solution" is to wipe my iPhone's memory and start from scratch, I will be a sad camper.
    Any help? Are backups to iCloud encrypted?
    Cheers...

    Additionally:
    Be super critical & meticulous (and whatever other synonym I missed) when you get a new password:
    Write it onto your bedroom wall, or someplace off of a computer that you will always find.
    If you active 2-step verification, the key is VERY important. Lose it & you may be toast.
    If you don’t 2 step verify, & use the Security Question instead --> do not lose, or forget the answers.
    Very nearly the same outcome!!!!!:  Bad experience.
    If you add a 2nd email address, make sure its a RESCUE address not just an alternate address.
    If you lose these, you lose access to your 3rd party purchases via Appstore for future upgrade. That will make you VEWY, VEWY UNHAPPY. Apple new OS versions do update, but add a new device & likely you will be unable to use your content on that device. It will never load if the ID locks up.

  • Is it possible to delete extended properties without knowing the id?

    Hello,
    Can you delete any custom extended properties without knowing their ID?
    I took over managing a feature that used EWS to send emails to customers.The current code creates a new GUID, and thus new Extended Property, every time an email is sent.
    // Create a custom extended property and add it to the message.
    var myExtendedPropertyDefinition = new ExtendedPropertyDefinition(Guid.NewGuid(), "MyGuidId", MapiPropertyType.String);
    mail.SetExtendedProperty(myExtendedPropertyDefinition, "MyGuidId");
    // Send and save a copy
    mail.SendAndSaveCopy();
    Is there a way to delete any of the custom extended propeties without knowing the IDs?
    Thank you

    No you can't do that in EWS you need to know the details of the property you want to Read/Write or delete. EWS has no method of enumerating all extended properties either you would need to use MAPI to do this.
    >>The current code creates a new GUID, and thus new Extended Property, every time an email is sent.
     I'd question the design of this what where they trying to acheive ? Why not have ths same property with a different Value ? else using an X-header would be better idea at least then it will persist ouside of your Exchange infrastructure and even
    inside would be more discoverable.
    Cheers
    Glen

  • How to know the specific size of a field in oracle table

    Hello,
    oracle 11.2.0.3 on redhat
    i have three tables with same structure, table0, table50, table100:
    create table table0 (id number, shipment RAW(2000), options RAW(2000));
    i inserted 10000 rows in each but with some differences:
    table0 has 10000 id, but shipment and options has null values
    table50 has 10000 id, but shipment and options has only 5000 rows, the other 5000 are null values
    table100 has 10000 rows of id, shipment and options. No null values.
    I want to know the specific size of each column, also the size of each row, to know the exactly size of the field.
    for example:
    row 1, column options of table100 has "asdfasdfagasdgasbabsdgoasdpgiahnwe1129u412094u12"
    row 2, column options of table100 has "a".
    both are raw datatype, but i think its space will has different size (bytes), how to know it? any query?
    I found this query:
    select owner,tablespace_name,segment_name,sum((bytes/1024/1024)) Bytes
    from sys.dba_extents
    where owner in 'MAA' and segment_type='TABLE' and segment_name ='TABLE00'
    group by tablespace_name,owner,segment_name
    order by owner,tablespace_name,segment_name, bytes; but i think it isn't my solution.

    thx mr. sb92075
    i tried with vsize too but same result:
    with table50
    SELECT VSIZE(OPTIONS) FROM TABLE00;
    VSIZE(OPTIONS)
                 1000
                 1000
                 1000
                 1000
                   *with table100
    SELECT VSIZE(OPTIONS) FROM TABLE100;
    VSIZE(C_ELECCION)
                 2000
                 2000
                 2000
                 2000
                      *it's the same size for 'a' like 'abcasdfjañldngaosnbaposnbpaosuqroiwejrklasndiaoshbaposdjgajs'?? It's hard for me to believe.
    data is saved in blocks, a extents is a contiguos number of blocks and a group of extensions are segments. If you insert some text in a table field, Oracle create a extension and insert there the data but depend the bytes you insert Oracle will create one or more extents. How to know this specific space in that field?

  • How do i reset an admin password without knowing the original?

    How can i reset my admin password on my macbook pro without knowing the original password?

    Insert a compatible Mac OS X DVD, restart with the Option key held down, and use its Reset Password utility. If the computer has a firmware password set, you need to know that.
    (58431)

  • How do I split a pdf file when the file size is too large?

    How do I split a pdf file when the file size is too large?  Thanks!

    With Adobe Acrobat.  It can also optimize your document to make the size smaller.

  • How can I rearrange the pages in a PDF without changing the assigned paged numbers.

    How can I rearrange the pages in a PDF without changing the assigned paged numbers? These correspond to the original document folio numbers.

    In theory it would be possible to 'record and play back' the page numbers using a folder-level script, but it's far from trivial. You would have to use the doc.movePage() function - presumably driven by a dialog box - to do the page shuffling so there was a way to track what was being done, then swap the page 'labels' of the two affected pages. That's where it gets messy.
    We have functions in the JSAPI which can read and write the page label, but they don't do things in a logical way. The 'getPageLabel()' function simply returns a string, but the 'setPageLabel()' method expects to be told the numbering scheme, prefix, etc. You'd have to parse the string and work out what scheme it was implementing.

  • HT4113 how to unlock an ipod touch without knowing the password

    how to unlock an ipod touch without knowing the password

    Connect the iPod to your computer and restore via iTunes. Place the iPod in Recovery mode if necessary to allow the restore.

  • Loading a class via reflection without knowing the full qualified path ?

    Hi there
    I d like to load a class via reflection and call the constructor of the class object. My problem is that I dont know the full qulified name e.g. org.xyz.Classname bur only the Classname.
    I tried different things but none seem to work:
         1. Class c = Class.forName("Classname");  //does not suffice, full qualified name required
    2. ClassLoader classloader = java.lang.ClassLoader.getSystemClassLoader();
             try {
               Class cl = classloader.loadClass(stripFileType(Filename));//if i do not pass the full qualified name i get a ClassNotFoundException
    3. I tried to consruct a class object with my own classloader , calling:
              Class cl = super.defineClass(null, b, 0, b.length );     b is of type byte[]This almost works. I get a class Object without knowing the full qulified path. I can transform a filename into a raw array of bytes and I get the class out of it. But there is still a problem: If there are more than on classes defined in the same textfile I get an InvocationTargetException.
    It looks like this:
    package org.eml.adaptiveUI.demo;
    import com.borland.jbcl.layout.*;
    import java.awt.*;
    import org.eml.adaptiveUI.layout.*;
    import javax.swing.*;
    import java.awt.event.*;
    * <p>Title: </p>
    * <p>Description: </p>
    * <p>Copyright: Copyright (c) 2003</p>
    * <p>Company: </p>
    * @author not attributable
    * @version 1.0
    public class twoButtons extends JFrame {
      SPanel sPanel1 = new SPanel();
      JButton jButton1 = new JButton();
      GridBagLayout gridBagLayout1 = new GridBagLayout();
      GridBagLayout gridBagLayout2 = new GridBagLayout();
      public twoButtons() throws HeadlessException {
        try {
          jbInit();
        catch(Exception e) {
          e.printStackTrace();
      public static void main(String args[]){
        twoButtons twob = new twoButtons();
        twob.pack();
        twob.show();
      private void jbInit() throws Exception {
        this.getContentPane().setLayout(gridBagLayout1);
        jButton1.setText("button 1");
        jButton1.addActionListener(new TransformationDemo_jButton1_actionAdapter(this));
        this.getContentPane().add(sPanel1,  new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0
                ,GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(57, 52, 94, 108), 35, 44));
        sPanel1.add(jButton1,  new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
                ,GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(5, 41, 0, 0), 0, 0));
      void jButton1_actionPerformed(ActionEvent e) {
        System.out.println("button 1 source: " + e.getSource());
        System.out.println("d: " + e.getID());
       System.out.println("/n commmand: " + e.getActionCommand());
    class TransformationDemo_jButton1_actionAdapter implements java.awt.event.ActionListener {
      twoButtons adaptee;
      TransformationDemo_jButton1_actionAdapter(twoButtons adaptee) {
        this.adaptee = adaptee;
      public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }As you can see there is the class TransformationDemo_jButton1_actionAdapter class defined in the same classfile. The problem is now that the twoButtons constructor calls the TransfomationDemo_jButton1_actionAdapter constructor and this leads to InvocationTargetException. I dont know if this is a java bug because it should be possible.
    Can you help me?

    hi thanks at first,
    the thing you mentioned could be a problem, but I dont think it is.
    If I have the full qualified name (which I havent) then everything goes normal. I only have to load the "twoButtons" class and not the other (actionadapter class), so I dont think this is the point. In this case the twoButtons constructor constructs an object of the actionadapter class and everything goes well. The bad thing is though that I do not have the full qulified name :(
    Invocation target exception tells me (in own words): Tried to acces the constructor of the actionadapter class (which is not public) out of class reflectionTest class .
    reflectionTest is the class where the reflection stuff happens and the twoButttons class is defineClass() ed.
    The problem is, only twoButtons class has the rights to call methods from the actionadapter class, the reflection class does not. BUT: I do not call the actionadapter methods from the reflection class. I call them only from the twoButtons class.
    I hope somebody understands my problem :)

  • How do you reset an ipad mini without knowing the password?

    I have just recently changed my password, but know i have forgot the new one. How do you reset the ipad without knowing the password?

    If you mean the passcode to unlock the iPad then you will need to connect it to the computer that you normally sync to and you should then be able to reset the iPad and restore/re-sync your content to it (http://support.apple.com/kb/HT1212) - you may need to put the iPad into recovery mode in order to be able to reset it : http://support.apple.com/kb/ht1808
    If you do it via a different computer then :
    If you restore on a different computer that was never synced with the device, you will be able to unlock the device for use and remove the passcode, but your data will not be present.

  • HT4865 How to delete the preowner icloud account without knowing the password?

    How to delete icloud account from pre owner without knowing the password?

    II'm in the same situation. Purchased a refurbished IPhone 5. I had to do a factory reset and when I reset it again, itunes tells me that the phone is linked to someone else. Called the company I bought the phone from and they say iTunes can do a master reset to link my iTunes account to the phone. Have any of you heard of this being possible?

  • Can we send a request without knowing the actual url..

    Tomcat is running at the back.
    I know the port no on which the server is running now.
    Can we send a request to the server even if we dont know the exact url
    for example I developed a form which authenticates the user, after authenticating the url will be some thing like this
    http://localhost:8090/temp/AdminRegister?uname=user?pass=user123now can the user login even without knowing the exact username and password by manipulating the url..

    it is your own risk to your applets to communicate with DBs because nobody suggests that. I agree with the Javascript story and the frames. It can be done but i thought he wanted to do that in one single page. And finally, i dont trust frames that much. I have seen many times the 404 error found on pages and because i use dynamic pages i have to make connection for each frame. and with throusands users being online it is bad for my server (traffic).

  • HT2523 Is there a way to increase the size of textedit text on the screen without increasing the font size? (as can be done in WORD for MAC)

    In Microsoft Office for Mac WORD I can make text appear larger on the monitor screen without increasing the font size for printing purposes.  I have not been able to figure out if/how this can be done in TextEdit.  In TextEdit, if I set the font size to between 10 and 12, the text appears very small on the screen.  But if I increase the font size, the font size will be way too large when I print such a document.

    Thank you very much for your prompt reply and suggestion. 
    Actually after I posted my question, I saw link to Text Edit viewable font, which pointed out the small up and down arrows in the lower right corner of the Text Edit screen. 
    However, it is also good to keep in mind the Universal Access options.

  • How do i restart my admin password without knowing the old one

    i just got a macbook air and wasnt paying attention to the password i used.. can anyone help me to reset the password without knowing the old one.and also that doesnt require a disk.

    Restart. Hold down cmd-r at the chime. When the Recovery partition boots, choose terminal from the Utilities menu.
    Type, resetpassword and hit return
    Select the disk and follow the instructions to reset the password.
    Note that you will not be able to recover your keychain. You'll have to create a new login keychain in Keychain Access and set the password the same as your new password to have it auto-unlock on login.

Maybe you are looking for

  • Is there a way to view only the apps I'm not using?

    If I attach all my iOS devices to my computer, is there a way to view only the apps in my iTunes library that are NOT being used by any device?  To make it easier to know which I'm not using, so I can delete them off my computer and free up some spac

  • Lost all my iphone content in itunes

    for some reason I have lost all my iphone content that was previously stored in my itunes. all my applications are gone and so is my music. anything that i have downloaded to my phone, no longer shows up in my itunes library on my computer. i have at

  • Mac Mini for Parents (photo editing)

    Hello all and thank you in advance. My parents (for reference in their mid 60s) have finally decided to come to the mac universe.  They are asking for assistance in buying a computer. I was thinking of getting them a mac mini. In regards to their nee

  • Help needed to set up Apple TV

    Hi I just bought Apple TV. Tried to connect to wifi network of my hotel room. It's getting connected but since manual says if there is any password set device will ask for password, but no password is asked to me. Coz of that It's shows I m connected

  • Photoshop help: I don't know what to call this (screenshot)

    Hi there, I primarily use photoshop to paint, and today had a very odd thing happen which I do not understand in the least. I was working on a piece, back ground later unchanged, medium grey on top of that, and a third layer set to multiply where I w