Manipulation of PDF files using HTML authoring tools
AssigneeAdobe Inc.
InventorsJohn Brinkman, Leonard Rosenthol
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdobe Inc.
InventorsJohn Brinkman, Leonard Rosenthol
Estimating the term…
Techniques are disclosed for extraction and modification of Portable Document Format (PDF) file content using Hyper Text Markup Language (HTML) based authoring tools on File Transfer Protocol (FTP) clients. A PDF FTP processor is configured to map components of stored PDF files to a hierarchical directory structure, and to receive FTP commands from a client application which identifies a PDF document and a type of access or operation (e.g., content or attribute modification, content extraction, etc.). The FTP commands also identify components of the PDF document upon which the requested operations are to be performed. The PDF FTP processor is further configured to invoke function calls to a PDF parser library to perform the requested operations. These techniques enable client software to access and manipulate the PDF document in a relatively simple and efficient manner, for example through HTML authoring tools that communicate to the server through FTP commands.
An apparatus to provide access to Portable Document Format (PDF) files from a client device using File Transfer Protocol (FTP) commands, the apparatus comprising:
A device to provide access to Portable Document Format (PDF) files using File Transfer Protocol (FTP) commands, the device comprising:
A method to provide access from a client device to Portable Document Format (PDF) files using File Transfer Protocol (FTP) commands, the method comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Protocols: specially adapted for file transfer, e.g. file transfer protocol [FTP]
Text processing: formatting, i.e. changing of presentation of documents
Natural language analysis: parsing
Digital communication
About 10 years 8 months of term left · ends 14 Jun 2037 (estimated)
This disclosure relates to techniques for manipulation of Portable Document Format (PDF) file content, and more particularly, to techniques for extraction and modification of PDF file content and associated attributes using File Transfer Protocol (FTP) commands, as generated for example by Hyper Text Markup Language (HTML) authoring tools.
PDF files or documents generally include various types of data, which can be of value to consumers of the PDF files. This data can be as simple as the text and images rendered on the screen by a PDF viewer, but can also include resources such as file attachments, form data, annotations, metadata, and bookmarks. The PDF format is also increasingly being used as a container for a variety of presentation formats. Many of these alternative presentation formats are defined by HTML-related material including Cascading Style Sheets (CSS), HTML files, images, Javascript, Java Script Object Notation (JSON), etc. Although these PDF resources have value to a variety of applications, there are relatively few tools available that allow a user to edit all aspects of a PDF file. For example, although PDF files can contain HTML content, existing HTML authoring tools have no knowledge of internal PDF file formats. This is generally due to the fact that, in order to extract or edit such content in a PDF file, application developers must create, purchase, or otherwise include relatively sophisticated PDF parser libraries in their applications. These PDF parser libraries are typically written in low-level languages such as C, C #, C++, and Java, which tend to be complex and often require a higher level of programming skill to create and maintain. This can result in an application development process that is more complex and costly than would otherwise be the case, which in turn inhibits broad adoption and usage by those lacking the requisite technical skills.
FIG. 1 is a block diagram of a PDF FTP client/server implementation, configured in accordance with an embodiment of the present disclosure.
FIG. 2 is a block diagram of an alternative PDF FTP implementation on a client device, configured in accordance with an embodiment of the present disclosure.
FIG. 3 is a more detailed block diagram of a PDF FTP processor, configured in accordance with an embodiment of the present disclosure. Note that the PDF FTP processor can be used in either of the embodiments shown in FIGS. 1 and 2
There are instances where it is desirable for an application, executing on a user or client device, to be able to access, edit, and/or manipulate Portable Document Format (PDF) files, whether stored locally on the user device or stored remotely on a server system. In particular, when those PDF files contain presentation material that is defined by HTML-related content, it would be useful for a client HTML authoring tool (e.g., Adobe Dreamweaver or the like) executing on the user device to have the capability to edit most or all aspects of those PDF files. As just one example, a PDF file might represent a survey form with a list of questions, and a user of the client device might wish to add an interactive slider bar to the survey form to facilitate completion of the survey by survey participants. For instance, in one such specific example case, the user might wish to have a slider bar associated with each question which could range from “strongly agree” to “strongly disagree.” The user could employ an HTML authoring tool to create the sliders, but existing authoring tools have no capability to access the PDF file internal components to add those sliders to the document. In order to accomplish this, the client-based authoring tools would need to download the PDF file, if stored on a server, and then parse the file in order to gain access to the PDF file contents and other various components related to the user's editing requests. In order to provide such capability, the developers of these HTML authoring tools (or other native applications) would generally need to create, purchase, or license relatively sophisticated PDF parser libraries for inclusion in their applications. As previously explained, these PDF parser libraries are typically written in low-level languages such as, for example, C, C #, and Java, and tend to be complex, often requiring a higher level of programming skill to create and maintain. Alternatively, if purchased or licensed, the cost for inclusion in each deployed copy of the client application could be prohibitive.
To this end, and in accordance with an embodiment of the present disclosure, techniques are disclosed to simplify the development and deployment of client based applications, particularly HTML authoring tools that benefit from the capability to access and/or manipulate PDF file content. This simplification is achieved by enabling the client based applications to access PDF manipulation capabilities, using an FTP communication protocol. In one embodiment, these PDF manipulation capabilities are provided to the client by a remote platform and accessed over a network. In another embodiment, the PDF manipulation capabilities are locally available on the client, thereby providing a self-contained client device and eliminating the need to access any remote platform. Thus, the disclosed techniques provide capabilities for extraction and modification of PDF file content based on FTP commands issued by the client application, as will be described in greater detail below. The FTP communication protocol provides a relatively simple command structure and directory path syntax, and is available for use as a standard client/server interface. Many existing client based authoring tools support FTP, which can be leveraged to enable them to provide PDF editing capability, as will be appreciated in light of this disclosure.
In more detail, and in accordance with an embodiment of the present disclosure, a PDF FTP processor is configured to provide PDF manipulation capabilities to client applications. In one embodiment, the PDF FTP processor is hosted on a remote platform and accessed by the client device over a network. In another embodiment, the PDF FTP processor is hosted on the client device. In any such cases, the PDF FTP processor is configured to receive FTP commands from any number of client applications, such as, for example, an HTML authoring tool. In one embodiment, the commands identify a PDF document and a type of access or operation (e.g., content or attribute modification, content extraction, etc.). In one embodiment, the FTP commands include a path syntax to identify components of the PDF document which are mapped, by the PDF FTP processor, to a hierarchical directory structure (e.g., a tree structure). In other words, the PDF file is treated as a container that mimics a filesystem, with the various PDF file components appearing to exist in files, folders, or subfolders, etc. Requested operation can then be performed on these components, as will be explained in greater detail below. For instance, in one example use case, the FTP command “get foo.pdf/properties.json” is issued by the client to obtain information about the properties of the PDF file “foo.pdf” in a JSON format. The PDF FTP processor is further configured to analyze the FTP commands and invoke function calls to a PDF parser library to perform the requested operations.