Create A Hyperlink in PDF File Using InDesign CS4 | PDF
Learning Adobe InDesign CS4 Plug-in Development If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe Systems Incorporated.
Please note that the content in this guide is protected under copyright law even if it is not distributed with software that includes an end user license agreement. The content of this guide is furnished for informational use only, is subject to change without notice, and should not be construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or liability for any errors or inaccuracies that may appear in the informational content contained in this guide.
Please remember that existing artwork or images that you may want to include in your project may be protected under copyright law.
The unauthorized incorporation of such material into your new work could be a violation of the rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner. Any references to company names in sample templates are for demonstration purposes only and are not intended to refer to any actual organization. All other trademarks are the property of their respective owners. Notice to U. Government End Users.
Consistent with 48 C. Government end users a only as Commercial Items and b with only those rights as are granted to all other end users pursuant to the terms and conditions herein.
Unpublished-rights reserved under the copyright laws of the United States. For U. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order , as amended, Section of the Vietnam Era Veterans Readjustment Assistance Act of 38 USC , and Section of the Rehabilitation Act of , as amended, and the regulations at 41 CFR Parts through , , and The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.
Contents Introduction. It also is appropriate reading for experienced InDesign programmers who need a refresher. It introduces the files in the SDK, covers development tools, and pro- vides an initial plug-in development tutorial. If you are new to InDesign development, completing the Getting Started tutorial will provide you the context necessary to review or try what is discussed in this document.
Before getting too far into the technical details, it is important to understand that all InDesign products are developed from the same code base. A plug-in can be written to load under any combination of InDesign products. Many Adobe plug-ins are compiled and deployed with all three applications. Each product application comprises a small executable that loads and initializes plug-ins. Each executable does very little that is recogniz- able by an end user; instead, nearly all features are contributed by plug-ins.
Plug-in classification There are several ways to classify InDesign plug-ins. For example, you may create an InCopy-only plug-in. Model plug-ins are those that write data to an InDesign document. User-interface plug-ins are those that contain user interfaces. A plug-in can be both a model and user-interface plug-in, but this is not a best practice, and such a plug-in will not load in InDesign Server. Third-party plug-ins cannot be con- sidered required. Working with bosses and instantiated boss objects is at the heart of InDesign plug-in development.
This is demonstrated below. Interfaces and implementations Interfaces are purely abstract classes, commonly used in object-oriented systems to provide a common contract between callers and different underlying types. Interfaces are not instantiated but instead can be implemented, meaning a subclass inherits the interface and provides definitions for all the pure virtual functions. The subclass is then instantiated. For example, InDesign includes several implementations of the IShape interface.
Each implementation is unique, but all are accessible via the IShape interface. Figure 1 gives you an idea what a boss looks like in memory. If it has more, each resource must be assigned a unique resource ID.
This particular resource ID is a simple integer ID, unique within the plug-in. Since these IDs are not used outside the plug-in, typi- cally they are simple integers 1, 2, 3, Aside from those keywords and the braces, commas, and semi-colon, everything is a bit ID.
The second field is used to specify a parent boss. The example specifies a parent of kInvalidClass, meaning there is no parent. This is useful when you need to add functionality to existing InDesign objects; for example, the kDocBoss repre- sents an InDesign document. You may find it useful to create an AddIn for the kDocBoss. The syntax for an AddIn is similar to a boss definition, but it specifies an existing boss in the first field.
The second field, which specifies a parent in the Class definition, must be set to kInvalid- Class. Unique prefix-based IDs Each boss, interface, and implementation has a unique ID that identifies it within the space of all InDesign bosses, interfaces, or implementations.
The boss, interface, and implementation ID spaces are separate spaces, so your plug-in can safely use the same number for an interface and a boss, but there should be no overlap within a space; e. The bit prefix you receive is reserved for use in your plug-in, giving you a maximum value of values for bosses, interfaces, or any other prefix-based IDs. Typically, this is more than enough for any plug-in; in fact, sometimes this is enough for a set of plug-ins.
Table 1 lists the InDesign naming conventions for boss, interface, and implementation con- stants. This will help you quickly differentiate between bosses and interfaces and keep them separate from other groups of unique IDs.
For an example of such a file, see any of the sample plug-ins. IPMUnknown Interface classes that are used as a component of a boss are either provided by the SDK, such as ICommand, or written by the plug-in developer to provide some plug-in-specific function.
They can contain any types of methods, but to work as a component of a boss, they must inherit from IPMUnknown. AddRef and Release deal with reference counting. QueryInterface provides access to the other interfaces on the boss. If the boss contains an interface for the passed-in ID, it calls AddRef and returns a pointer to the interface; otherwise, it returns nil. A reference count is maintained for the boss, not for the individual interfaces.
When you call AddRef or Release on an interface, the reference count for the entire boss object is adjusted. Sometime after the reference count reaches zero this is not guaranteed to happen right away , the object model deletes the boss from memory.
When your code needs to manage a reference to a boss object, you must call AddRef. If this is not done, you run the risk of the boss being deleted while still in use. Likewise, when the refer- ence is no longer needed, the reference count must be deleted by calling Release. If this is not done, you will create a boss leak which, in turn, creates memory leaks. In essence, you are allocating system resources and never freeing them. Unless AddRef is called, the code cannot assume that fBar will point to a valid object when it is used later.
In this case, MyClass holds a reference to the boss and needs to call AddRef. Destructors are not called until after the boss’s reference count reaches zero. In this case, the reference count would never reach zero, so the destructor would never be called.
Do not make this mistake! In other cases, it is entirely appropriate to pass an interface pointer to a function without calling AddRef. For example, consider the CallBar example below.
This method does not need to hold a reference to the boss. It simply performs some operation on the passed-in pointer; it does not save it for later use. Most often, your code will acquire a reference to a boss, use it within a local scope, and eventually need to call Release.
The object is created on the stack and initialized with a reference-counted interface pointer. When the InterfacePtr goes out of scope, it calls Release in its destructor. It is important to understand what is really happening and the true benefits of using InterfacePtr. In this case, the InterfacePtr constructor calls QueryInterface on obj if it is non-nil. While we recommend including such an enumeration, it is not required.
If IBar did not include such an enumeration, this code would fail to compile. If it is, an InterfacePtr is constructed, but its data member is nil. If the data member is non-nil, the InterfacePtr destructor calls Release when the object goes out of scope. The constructor does nothing if the InterfacePtr’s data member is nil. It is overloaded, to behave as if you are dealing with a real pointer; however, in the debug build, it asserts that the actual pointer is non- nil. This provides an opportunity to find crashes right before they occur.
In this example, the function might need to return abruptly due to an error condition. Since it uses an InterfacePtr, the code can just return. The InterfacePtr, which is constructed on the stack, is destructed on return, so Release is called automatically. Often, InDesign plug-in code queries for several interfaces. If they are not stored in an InterfacePtr, the code must make sure each code path results in appropriate calls to Release.
InterfacePtr tips and tricks Sometimes, you might want to set an InterfacePtr after it is constructed. This is common if the InterfacePtr can be initialized to different objects. There may be cir- cumstances where you need to remove the data from an InterfacePtr without calling Release.
For this case, InterfacePtr also supplies a forget method. The forget method sets the Inter- facePtr data to nil and returns the original data to the caller; therefore, it can be used to transfer ownership from an InterfacePtr to a caller. Often, you can re-use an existing interface. Sometimes, however, you will need to write an interface from scratch.
Thus, we include IPMUknown. Each interface you write will be similar, but you will provide your own name, ID, and set of pure virtual functions. Writing your own implementation Interfaces and implementations go together. Conceptually, the interface comes first, but it is not unusual to develop an interface and its implementation together. It also is not unusual to develop an implementation for an existing, Adobe-supplied interface.
Because of how InDesign code is referenced, the compiler can be fooled into optimizing it away. This prevents the compilers from optimizing your code away because it appears not to be referenced.
It also adds a helper method, PreDirty , which is used only for persistent interfaces. The CPMUn- known mechanism is preferred, for its simplicity. This is required to initialize data in CPMUnknown. This variable follows a naming convention you see in most InDesign source files. Each implementation you write will be somewhat similar.
Constructing a boss instance There are several global functions for constructing or instantiating boss objects in the SDK header file CreateObject. There are different functions for creating persistent and non-persis- tent boss instances. There is a slightly better way to do this, if the interface supports the kDe- faultIID enumeration. A nil pointer is returned if the designated boss cannot be cre- ated. This may seem unlikely, but it is possible for several reasons, most notably a missing plug- in.
Persistence A persistent boss object can be removed from main memory and later reconstructed, unchanged. InDesign stores such objects in database files. An InDesign document really is just a database of persistent boss objects.
Each persistent boss instance can be identified by an inte- ger key called a UID unique identifier. The application maintains several different databases for various purposes. The application defaults, clipboard, and user-interface settings are saved in different databases. Also, as men- tioned previously, each InDesign document is a database file. To do that, the boss must have at least one persistent implementations. Writing your own persistent implementation Persistent and non-persistent implementations are very similar.
If the values differ, it calls PreDirty before changing fMyInt. In short, the object model must know before you change a persistent object. This allows the undo architecture to take snapshots, so changes can be rolled back if needed.
This method is responsible for reading and writing the object’s persistent data using the passed-in IPMStream. Examples of Persistent Implementations There are many examples of persistent implementations in the SDK sample projects. For a fairly straightforward example, consider the Frame Label project. See the FrmLblData. There also is no need to create an instance, because the application already manages these bosses.
Most examples differ from the above only in inconsequential ways. For example, a mutator SetXXX method may not check to see that a data member has really changed before calling PreDirty ; this check is an optimization. What differs across examples is the data the implementation manages. Advanced Search. Forgot Password? Join today. Not a member?
Recommended For You. James Wamser says:. July 30, at am. Log in to Reply. Gary Stolz says:. July 30, at pm. MartinDoersch says:. Working with text and type — Lesson 4.
Working with styles — Lesson 5. Working with graphics — Lesson 6. Creating and using tables — Lesson 7. Using color in your documents — Lesson 8. Using effects — Lesson 9. Advanced document features — Lesson Creating interactive documents — Lesson There are no reviews yet.
Adobe indesign cs4 tutorial pdf free download by uacro – Issuu – Navigation menu
Retrieved July 1, January Retrieved January 28, February 20, ISBN OCLC Adobe InDesign User Guide. Retrieved August 7, Retrieved February 25, Wikimedia Commons has media related to Adobe InDesign. Wikiversity has learning resources about Adobe InDesign.
Adobe Creative Suite and Creative Cloud. Adobe Inc. Category Commons. Category Comparison List. Hidden categories: Articles with short description Short description is different from Wikidata Use mdy dates from September Wikipedia articles needing clarification from September Commons category link is on Wikidata.
Namespaces Article Talk. Vector graphics editors. Category Comparison. Adobe Creative Suite and Creative Cloud. Adobe Inc. Category Commons. Hidden categories: Articles with short description Short description is different from Wikidata. Namespaces Article Talk. Views Read Edit View history. Help Learn to edit Community portal Recent changes Upload file. Download as PDF Printable version. Fireworks CS6 on Windows 7. Adobe Systems. Windows , macOS.
Raster graphics editor , vector graphics editor. The user may also complete the selection by connecting the end point to the starting point. The “marching ants” will indicate if a selection has been made. The polygonal lasso tool will draw only straight lines, which makes it an ideal choice for images with many straight lines. Unlike the regular lasso tool, the user must continually click around the image to outline the shape.
To complete the selection, the user must connect the end point to the starting point just like the regular lasso tool. Magnetic lasso tool are considered the smart tool. It can do the same as the other two, but it can also detect the edges of an image once the user selects a starting point.
It detects by examining the color pixels as the cursor moves over the desired area. Closing the selection is the same as the other two, which should also should display the “marching ants” once the selection has been closed. The quick selection tool selects areas based on edges, similarly to the magnetic lasso tool.
The difference between this tool and the lasso tool is that there is no starting and ending point. For this reason, the selected area can be added onto as much as possible without starting over.
By dragging the cursor over the desired area, the quick selection tool detects the edges of the image. The “marching ants” allow the user to know what is currently being selected. Once the user is done, the selected area can be edited without affecting the rest of the image. One of the features that makes this tool especially user friendly is that the SHIFT key is not needed to add more to the selection; by default, extra mouse clicks will be added to the selection rather than creating a new selection.
The magic wand tool selects areas based on pixels of similar values. One click will select all neighboring pixels of similar value within a tolerance level set by the user. If the eyedropper tool is selected in the options bar, then the magic wand can determine the value needed to evaluate the pixels; this is based on the sample size setting in the eyedropper tool.
This tool is inferior to the quick selection tool which works much the same but with much better results and more intuitive controls. The user must decide what settings to use or if the image is right for this tool. The Eraser tool erases content based on the active layer. If the user is on the text layer, then any text across which the tool is dragged will be erased. The eraser will convert the pixels to transparent, unless the background layer is selected.
The size and style of the eraser can be selected in the options bar. This tool is unique in that it can take the form of the paintbrush and pencil tools. In addition to the straight eraser tool, there are two more available options — background eraser and magic eraser. The background eraser deletes any part of the image that is on the edge of an object.
This tool is often used to extract objects from the background. The magic eraser tool deletes based on similar colored pixels. It is very similar to the magic wand tool. This tool is ideal for deleting areas with the same color or tone that contrasts with the rest of the image. Using simple combinations of keys video layers can easily be modified, with other features such as adding text and creating animations using single images. With the Extended version of Photoshop CS5, 2D elements of an artwork can easily become three-dimensional with the click of a button.
Extrusions of texts, an available library of materials for three-dimensional, and even wrapping two-dimensional images around 3D geometry. Third-party plugins have also been added to the most recent version of Photoshop where technologies such as the iPad have integrated the software with different types of applications.
Applications like the Adobe Eazel painting app allows the user to easily create paintings with their fingertips and use an array of different paint from dry to wet in order to create rich color blending. The program will feature cloud syncing with other devices and a simpler interface than the desktop version. The plug-in allows users to remove noise without the side-effect of over-sharpening, add grain, and even perform post-crop vignetting. From version Artists can add color, adjust the shape or rotate the angles of imported models, or design original 3D models from scratch.
The Color Replacement Tool allows the user to change the color, while maintaining the highlights and shadows of the original image, of pieces of the image. By selecting Brushes and right clicking, the Color Replacement Tool is the third option down. What is important to note with this tool is the foreground color.
The foreground color is what will be applied when painting along the chosen part of the image with the Color Replacement tool. Photoshop and derivatives such as Photoshopped or just Shopped have become verbs that are sometimes used to refer to images edited by Photoshop,  or any image manipulation program.
The same happens not only in English but as the Portuguese Wikipedia entry for image manipulation attests, even in that language, with the trademark being followed by the Portuguese verb termination -ar, yielding the word “photoshopar” to photoshop.
Such derivatives are discouraged by Adobe  because, in order to maintain validity and protect the trademark from becoming generic , trademarks must be used as proper nouns. Photoshop’s naming scheme was initially based on version numbers, from version 0. Adobe published 7 major and many minor versions before the October introduction of version 8.
In February Adobe donated the source code of the 1. The first Photoshop CS was commercially released in October as the eighth major version of Photoshop. Photoshop CS increased user control with a reworked file browser augmenting search versatility, sorting and sharing capabilities and the Histogram Palette which monitors changes in the image as they are made to the document.
Match Color was also introduced in CS, which reads color data to achieve a uniform expression throughout a series of pictures. Photoshop CS2, released in May , expanded on its predecessor with a new set of tools and features. It included an upgraded Spot Healing Brush, which is mainly used for handling common photographic problems such as blemishes, red-eye, noise, blurring and lens distortion. One of the most significant inclusions in CS2 was the implementation of Smart Objects, which allows users to scale and transform images and vector illustrations without losing image quality, as well as create linked duplicates of embedded graphics so that a single edit updates across multiple iterations.
Adobe responded to feedback from the professional media industry by implementing non-destructive editing as well as the producing and modifying of Bit High Dynamic Range HDR images, which are optimal for 3D rendering and advanced compositing. FireWire Previews could also be viewed on a monitor via a direct export feature.
Image Warping makes it easy to digitally distort an image into a shape by choosing on-demand presets or by dragging control points. The File Browser was upgraded to Adobe Bridge, which functioned as a hub for productivity, imagery and creativity, providing multi-view file browsing and smooth cross-product integration across Adobe Creative Suite 2 software. Camera Raw version 3. Photoshop CS2 brought a streamlined interface, making it easier to access features for specific instances.
In CS2 users were also given the ability to create their own custom presets, which was meant to save time and increase productivity. CS3 improves on features from previous versions of Photoshop and introduces new tools. One of the most significant is the streamlined interface which allows increased performance, speed, and efficiency. There is also improved support for Camera RAW files which allow users to process images with higher speed and conversion quality. The Black and White adjustment option improves control over manual grayscale conversions with a dialog box similar to that of Channel Mixer.
There is more control over print options and better management with Adobe Bridge. The Clone Source palette is introduced, adding more options to the clone stamp tool.
Other features include the nondestructive Smart Filters, optimizing graphics for mobile devices,  Fill Light and Dust Busting tools. CS3 Extended includes everything in CS3 and additional features. There are tools for 3D graphic file formats, video enhancement and animation, and comprehensive image measurement and analysis tools with DICOM file support. As for video editing, CS3 supports layers and video formatting so users can edit video files per frame.
They were also made available through Adobe’s online store and Adobe Authorized Resellers. CS4 features smoother panning and zooming, allowing faster image editing at a high magnification. The interface is more simplified with its tab-based interface  making it cleaner to work with.
Photoshop CS4 features a new 3D engine allowing the conversion of gradient maps to 3D objects, adding depth to layers and text, and getting print-quality output with the new ray-tracing rendering engine.
It supports common 3D formats; the new Adjustment and Mask panels; content-aware scaling seam carving ;  fluid canvas rotation and File display options. Adobe released Photoshop CS4 Extended, which has the features of Adobe Photoshop CS4, plus capabilities for scientific imaging, 3D, motion graphics, accurate image analysis and high-end film and video users. The faster 3D engine allows users to paint directly on 3D models, wrap 2D images around 3D shapes and animate 3D objects.
Photoshop CS5 was launched on April 12, In May , Adobe Creative Suite 5. Its version of Photoshop, The community also had a hand in the additions made to CS5 as 30 new features and improvements were included by request. These include automatic image straightening, the Rule-of-Thirds cropping tool, color pickup, and saving a bit image as a JPEG. Another feature includes the Adobe Mini Bridge, which allows for efficient file browsing and management.
A new materials library was added, providing more options such as Chrome, Glass, and Cork. The new Shadow Catcher tool can be used to further enhance 3D objects. For motion graphics, the tools can be applied to over more than one frame in a video sequence. Photoshop CS6, released in May , added new creative design tools and provided a redesigned interface  with a focus on enhanced performance. Image files can be shown in different sized thumbnails, slide shows or lists.
Each folder, which can be bookmarked, has a cache file for speeding up rendering time of images when viewing a thumbnail. The cache can be in one central location or in individual folders. Coupled with Adobe Photoshop, Bridge can execute Photoshop’s compatible automation plug-ins, scripts and Adobe Camera Raw filters on a group of images. A plugin for Photoshop called Mini Bridge adds a small file browser to Photoshop, although Mini Bridge can be used only if Adobe Bridge is running in the background.
Adobe indesign cs4 pdf free
The application includes reusable implementations that describe the two types of shutdown services. Processing amounts to calling or executing; often, it may be referred to as firing. Forgot Password? Gary Stolz says:.