PortableApps.com needs your help: Please consider making a donation today.
300+ free and legal portable apps (over 9GB), up-to-date, & new apps regularly (Apr 3: GPU-Z).
Get the encrypted PortableApps.com Carbide, the fast PortableApps.com Companion, or carry your KeyZ.
PortableApps.com lead developer recovering from injury/surgery (Latest News Mar 19th)

Tomahawk PDF+ Portable 3.1.0.0 Development Test 7

tapsklaps
Developer
- January 11, 2012 - 3:11pm

Application: Tomahawk PDF+
Category: Utilities
License: Freeware
Description:Tomahawk PDF+ is still one of the most advanced word processing/pdf creation software packages available for the Windows platform. This comfortably designed program with a familiar interface that's easy to use, allows documents to be produced and saved in a number of formats, including rich text; exported as HTML; or converted to PDF.

Download Tomahawk PDF+ Portable 3.1.0.0 Development Test 7 [5,80MB download / 5,80MB installed]
(MD5: f9525474c77427becfa78b67593a868c)

Release Notes:

Tomahawk PDF+ Portable 3.1.0.0 Development Test 7 (2012-01-26)

  • If the user chooses a language in the PortableApps.com Platform, which is not present in the program, then falls back the language by default on english.


Tomahawk PDF+ Portable 3.1.0.0 Development Test 6 (2012-01-25)

  • I removed a failure in conjunction with the automatic language switching in the PortableApps.com Platform after an upgrade of an older version, which contains a non empty folder Data.
  • In the file TomahawkPDF+Portable.ini I have made several improvements. Also I have made some smaller alterations on the files installer.ini and custom.nsh.


Tomahawk PDF+ Portable 3.1.0.0 Development Test 5 (2012-01-23)

  • Now works fine the automatic language switching in the PortableApps.com Platform. In the standalone version the user must change the language via Tools -> Language.
  • The user should have the freedom to decide, where he wish the prefered dictionary should be placed on the portable device. Only after moving to another PC the user must again activate the appropriate dictionary.


Tomahawk PDF+ Portable 3.1.0.0 Development Test 4 (2012-01-22)

  • For the use of dictionaries I have created an appropriate folder named "Dictionaries" inside of the folder Data. The user only needs to download a suitable dictionary and paste it in the folder "Dictionaries". Then go via Edit -> Spelling Options. In the dialog window "Spelling Options" please click on the link "Locate Dictionaries..." and choose the folder "Dictionaries" inside of the folder Data. To preserve this setting I also need to paste the file "Spell.cfg" inside of the folder Data\settings. In addition I have created a section [FileWrite1] within the file "TomahawkPDF+Portable.ini".


Tomahawk PDF+ Portable 3.1.0.0 Development Test 3 (2012-01-20)

  • For language switching the user needs to go via Tools -> Language in the program. This applies both to start the program in the PortableApps.com Platform as well as in the standalone version.


Tomahawk PDF+ Portable 3.1.0.0 Development Test 2 (2012-01-18)

  • automatic language switching in the PortableApps.com Platform
  • Preserving of the files *.adu and *.adl as well as the folders "Pdf Conversion" and "Languages" on an upgrade of the program (all these files and folders reside in the folder "TomahawkPDF+")
  • The file "Spell.cfg" was inserted into the folder DafaltData\settings.


Tomahawk PDF+ Portable 3.1.0.0 Development Test 1 (2012-01-11): Initial release

Notes

  1. Because the program is Freeware but not Open Source I need a permission from the developer Jack Lewis. Here is the necessary permission.
  2. By default will be opened the Adobe Reader on the host PC after the creation of a PDF-file with Tomahawk PDF+ (For this case I assume, that the Adobe Reader is installed on the host PC.) Unfortunately this will generates some registry keys associated with the Adobe Reader. To avoid this, I have customized the file TPdfPlus.ini. Accordingly it's necessary, that the user don't enable the checkbox named "Launch Acrobat Reader after creation" in the dialog window titled "Tomahawk Pdf Creator". This dialog window can be opened about File -> Convert to Pdf. Instead the user should open the created PDF-file with another portable PDF viewer like Foxit Reader Portable.

( categories: )

Nice addition

Hi tapsklaps, thanks for packaging Tomahawk, great app! It came out clean, no traces found so far, works great.
There are stil some user files created in the TomahawkPDF+ folder.
First there are the TPdfPlus.lng containing the language setting and the Spell.cfg with the spell check settings. I think these could be moved the Data to be preserved during updates.
In addition there are some files (user dictionairies) named after the current user (username.ald/username.adu and a folder in Pdf Conversion). I suspect these to be created for every user the app "encounters". Maybe they could be moved with *.adl and *.adu but that could generate a lot of write cycles over the time if someone usses many different pcs. I am not shure, what the folders are for, it is left empty in my short test.
Do you consider language switching?

important advices

Thank you for your effort to test the program. At the moment I'm just going to eliminate these problems. Later I'll inform you with more details and I offer a revised version.

solution for the above described problems

  1. Language swithching

    When the portable application is launched from the PortableApps.com Platform, the system language will now automatically detected. To this end I have created in the folder "TomahawkPDF +" a new folder called "Languages​​". The folder "Languages" containes all language files. I have also inserted in the folder AppInfo\Launcher a new file "custom.nsh". In the file TomahawkPDF+Portable.ini I pasted the a new section [Language] with appropriate code.

    When the portable application is not launched from the PortableApps.com Platform, then the user must change the language via Tools -> Language. But I try to find a way, that also in this case the language switch automatically (if possible).

  2. Spell check

    To preserve the file "Spell.cfg" on an upgrade of the program, I have pasted this file in the folder DefaultData\settings.

  3. Preserving of some files and folders

    To preserve the files *.adu and *.adl and the folders "Pdf Conversion" and "Languages" on an upgrade of the program (all these files and folders reside in the folder "TomahawkPDF+"), I have created a file "installer.ini" within the folder "AppInfo".

Updated to version 3.1.0.0 Development Test 2

See the above described release notes for changes.

I tested it and it partially

I tested it and it partially worked. The idea to accomplish language switching with copying and renaming different files instead of replacing the entry in the TPdfPlus.lng itself is unconventional but seems a good solution for the program errors when the language does not exist.
But it stops working from the platform when the TPdfPlus.lng already exists. That is the case after the first launch because the TPdfPlus.lng is not deleted and therefore the copied file cannot be renamed. Same problem after upgrading from the previous Dev Test. But simply deleting it would result in the language not been preserved when launched without the platform.
Maybe it could be done the other way around (FileWriteN). I'll have a look at it later tomorrow.

You don't need the Spell.cfg in DefaultData as it does not contain information needed for portabilization (but it contains personal information of you Eye-wink ).

Updated to version 3.1.0.0 Development Test 3

See the above described release notes for changes.

Updated to version 3.1.0.0 Development Test 4

See the above described release notes for changes.

Nice. I think it was a good

Nice. I think it was a good decision to ditch language switching. I did not find a good solution to restrict the launcher to a given set of languages. The only possibility (dirty hack) I found was to subsitiute every invalid language in the LanguageStrings section with English. That might work and one could use FileWriteN to change the string in the TPdfPlus.lng, but I did not test it.

I found another addition to your Dev test. You could handle the TPdfPlus.lng with the launcher to keep it in the Data folder instead of the entry in the installer.ini. That way it would put user data to its proper location (for backup purposes f.i.).

And as the TPdfPlus.ini and the Spell.cfg are empty, they should be deleted from DefaultData.

Keep up the good work. Smiling

language swithching and 2 configuration files

  1. Language switching

    I also have thought about the possibility, that the folder "Languages" should reside in the folder Data instead of the folder "TomahawkPDF+". I tried to write a suitable file "custom.nsh". Unfortunately without success Eye-wink It's impossible, that the language switches automatical in the PortableApps.com Platform. Perhaps there exists a possibility that I can not figure out due to my lack of knowledge of the NSIS script language.

  2. Necessity of the empty files TPdfPlus.ini and Spell.cfg

    In my release notes regarding the use of a dictionary I have described the appropriate way the reach this goal. The path to this dictionary is saved on the file "Spell.cfg". By placing an empty file "Spell.cfg" in the folder Defaultdata\settings this creates a file "Spell.cfg" stored in the folder Data\settings, which is not empty (it stores the path to the dictionary). Only in this case it's possible, that an appropriate setting regarding the choice of the dictionary are maintained on an upgrade of the app. The other way via an entry in the installer.ini (e.g. PreserveFile1=App\TomahawkPDF+\Spell.cfg) failed.

    By placing an empty file "TPdfPlus.ini" in the folder Defaultdata\settings this creates a file "TPdfPlus.ini" stored in the folder Data\settings, which is not empty (after the user has changed some settings). Accordingly, these settings are preserved during an upgrade.

Data

Data is only for userdata, not app bits. If Data is deleted, the app should reset itself back to a first-run after install state.

Sometimes, the impossible can become possible, if you're awesome!

applicable in my case

In the case of the deletion of the folder Data this is applicable for my program, i.e. my app runs after the install state. Or did your comment refers on my above remarks No. 1?

2: Not necessary.

2: Not necessary. TPdfPlus.ini is created automatically by the app and then moved to Data\settings after close (according to your launcher.ini). Same with Spell.cfg, which is only created if the user enters the spellcheck options. There is no need for an empty dummy file if it is created by the app anyway. It is needed only if you have to preset settings prior the first run. Remember that DefaultData is not used if Data exists anyway (updates...)

good info

Thank you for this nice advice. I have integrated this fact in my new version Development Test 5.

Updated to version 3.1.0.0 Development Test 5

See the above described release notes for changes.

Hi tapsklaps, I thought it

Hi tapsklaps, I thought it over again and realized my error (simply overlooked Default in [Language]...).

Here my suggestion

[Language]
Base=%PortableApps.comLocaleName%
Default=English (US)

[LanguageStrings]
Czech=Czech
Dutch=Dutch (NL)
English=English (US)
French=Francais
German=German
Hungarian=Hungarian
Italian=Italian
Lithuanian=Lithuanian
Norwegian=Norsk (Bokmål)
Portuguese=Portuguese (Brazilian)
PortugueseBR=Portuguese (Brazilian)
Polish=Polish
Romanian=Romanian
Slovak=Slovak
Spanish=Spanish
SpanishInternational=Spanish
Swedish=Svenska
Turkish=Turkish

[LanguageFile]
Type=INI
File=%PAL:DataDir%\TPdfPlus.lng
Section=Options
Key=Language

...

[FileWriteN] ;replace N with number according to your list
Type=INI
File=%PAL:DataDir%\TPdfPlus.lng
Section=Options
Key=Language
Value=%PAL:LanguageCustom%

For that to function you have to move the TPdfPlus.lng to the Data dir with FilesMove. That would preserve the setting on an update as well.

As you have DirectoryMoveOK set to yes, you have to add partial directory handling for the Spell.cfg and for the registry file TomahawkPDF_2.reg. If you need assistance, feel free to ask. I could post my whole launcher.ini, if you like.

You should discard your custom.nsh as it does not work, if a data directory already exists. Or you should place the language files in the app directory instead as before. But I think it is much more complicated than needed (you don't need to add files to the app that are not there and the app could handle language switching without them).

-edit-
I forgot: You need a TPdfPlus.lng in DefaultData, best preset to English (US). Automatic language switching would not work if it is not present. It will be created if the user sets a language in Tomahawk itself and from then on it will work. You could add an advice for the next Dev Test to either delete the Data folder prior updating or to set a language once to activate language switching.

my solution works fine

I've tested my solution Development Test 5 and the automatic language switching in the PortableApps.com Platform works fine. Insofar I can't understand your objection, that I should discard my file custom.nsh.

Of course it may be, that there exist another possibilty to solve the language problem. How about if you send me a complete trial version of Tomahawk?

your code don't work

In the meantime I've tested your code and I've figured out, that the autoamtic language switching in the PortableApps.com Platform don't work. Actually you haven't changed the file TPdfPlus.lng. Only in the section "Options" you substitute the predefined value (e.g. "English") through the value of system language (e.g. "German") for the key "Language". But this alone will not solve the language problem.

If you choose another language via Tools -> Language, you can detect, that in the program folder (in my case in the folder TomahawkPDF+) will be created for every language a separate language file (please look at the file size of the appropriate language file). For this reason I've created a folder named "Languages" with all language files, which I pasted in the folder DefaultData. Through the file custom.nsh in conjunction with the section [Language] in the file "TomahawkPDF+Portable.ini" it's now possible, that the language file TPdfPlus.lng in the folder TomahawkPDF+ will be substituted by the appropriate language file in the folder Languages. This folder Languages is now contained in the folder Data. Therefore will be preserved the folder Languages during an upgrade of the app. And through the entry "PreserveFile3=App\TomahawkPDF+\TPdfPlus.lng" in the file "installer.ini" will be preserved the language settings during an upgrade of the app.

I don't know what you have

I don't know what you have done with my advice (FYI it was only that and no objection). It works perfectly here on my end. But only, if you read my whole post thoroughly (apparently you have to move the TPdfPlus.lng with FilesMove to the Data folder and disable your custom.nsh for it to work as otherwise you replace the TPdfPlus.lng with your version). Just implementing a part of it will break it. Btw. - you did scroll the Pre-box down, didn't you?

Tomahawk doesn't need seperate language files, changing the content of the TPdfPlus.lng is enough (try it manually). My entries in the Launcher.ini do exactly that according to the setting of the platform, not the system. I switch the platform language to something supported by Tomahawk like Hungarian and the app starts in Hungarian, I switch to something unsupported like Afrikaans and it falls back to English.

Preserving a settings file is not the right solution as it will not be backed up during a settings backup by the platform. Settings belong in in Data per definition in the Format Specification.

Here is my whole launcher.ini for a better explanation:

[Launch]
ProgramExecutable=TomahawkPDF+\TPdfPlus.exe
DirectoryMoveOK=yes

[Activate]
Registry=true

[Language]
Base=%PortableApps.comLocaleName%
Default=English (US)

[LanguageStrings]
Czech=Czech
Dutch=Dutch (NL)
English=English (US)
French=Francais
German=German
Hungarian=Hungarian
Italian=Italian
Lithuanian=Lithuanian
Norwegian=Norsk (Bokmål)
Portuguese=Portuguese (Brazilian)
PortugueseBR=Portuguese (Brazilian)
Polish=Polish
Romanian=Romanian
Slovak=Slovak
Spanish=Spanish
SpanishInternational=Spanish
Swedish=Svenska
Turkish=Turkish

[LanguageFile]
Type=INI
File=%PAL:DataDir%\TPdfPlus.lng
Section=Options
Key=Language

[RegistryKeys]
TomahawkPDF_1=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Tomahawk
TomahawkPDF_2=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.tmd

[FilesMove]
settings\TPdfPlus.ini=%PAL:AppDir%\TomahawkPDF+
settings\Spell.cfg=%PAL:AppDir%\TomahawkPDF+
TPdfPlus.lng=%PAL:AppDir%\TomahawkPDF+

[FileWrite1]
Type=Replace
File=%PAL:DataDir%\settings\Spell.cfg
Find=%PAL:LastDrive%
Replace=%PAL:Drive%

[FileWrite2]
Type=Replace
File=%PAL:DataDir%\settings\Spell.cfg
Find=%PAL:LastPackagePartialDir%
Replace=%PAL:PackagePartialDir%

[FileWrite3]
Type=INI
File=%PAL:DataDir%\TPdfPlus.lng
Section=Options
Key=Language
Value=%PAL:LanguageCustom%

[FileWrite4]
Type=Replace
File=%PAL:DataDir%\settings\TomahawkPDF_2.reg
Find=%PAL:LastPackagePartialDir:DoubleBackslash%
Replace=%PAL:PackagePartialDir:DoubleBackslash%

[FileWrite5]
Type=replace
File=%PAL:DataDir%\settings\TomahawkPDF_2.reg
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\

Remember, a TPdfPlus.lng has to be present, either via DefaultData or via creating one through Tools->Languages.

Don't get me wrong, I don't want to disparage your solution but sometimes it helps in the learning process to analyze different concepts. That's the way, I learn using the PA.c format all the time. And the simpler a solution is, the less issues could slip in (like putting the language files in DefaultData that breaks with updating).
That's the reason why we have and should use the PA.c launcher when we could write a custom NSIS launcher from scratch as well.

Nevertheless, you don't have to pick up my solution, it's is your app, and I definitely won't be offended!
And if you don't want me to give further advices, just let me know... Eye-wink

Analysis of your file launcher.ini

Thank you for the great effort to create this file launcher.ini. In fact the automatic language switching works fine in the PortableApps.com Platform.

However, I have some comments on the sections [FileWrite1], [FileWrite2], [FileWrite4] and [FileWrie5].

The use of Section [FileWrite1] is pointless, if you insert the USB flash drive in another PC. Then in the file Spell.cfg will be created a new section. The name of this section may be "username2", at which "username2" is the name of the logged user of the new PC. "Username1" may be the name of the logged user of the previous PC. But only in the section username1 is saved the path to the dictionary (e.g. _NewPaths_0=X:\PortableApps\TomahawkPDF+Portable\Data\Dictionaries). After moving to the new PC it's necessary to activate the dictionary via Edit -> Spell Options.

The use of the both environment variables in the section [FileWrite2] is also pointless in some cases. Assumed you create a folder named "Dictionaries" in which you paste the apropriate dictionary file. This folder you insert on your USB flash drive but outside of the folder PortableApps. Then both environment variables don't work.

In the sections [FileWrite4] and [FileWrite5] you must use TomahawkPDF_1. And in the section [FileWrite5] you forgot 1 backslash. Here are the corrected sections [FileWrite4] and [FileWrite5]:

[FileWrite4]
Type=Replace
File=%PAL:DataDir%\settings\TomahawkPDF_1.reg
Find=%PAL:LastPackagePartialDir:DoubleBackslash%
Replace=%PAL:PackagePartialDir:DoubleBackslash%

[FileWrite5]
Type=replace
File=%PAL:DataDir%\settings\TomahawkPDF_1.reg
Find=%PAL:LastDrive:DoubleBackslash%
Replace=%PAL:Drive:DoubleBackslash%

-EDIT-
Also your section [LanguageFile] don't work. This section should be used when the portable application is not launched from the PortableApps.com Platform. But in this case the automatic language switching don't work.

Yeah, I realized that strange

Yeah, I realized that strange behaviour with the new sections in Spell.cfg. But nevertheless the setting is persistent with same usernames so if the drive letter changes on the same computer or if the same username exists on different computers (common setup at my school computers) drive letter handling and folder movement should work. Else DirectoryMoveOK should be set back to warn.
Even if the used Section varies, the driveletter and folders should be adjusted in case they will be used again. And if you somehow manage to persuade Tomahawk to use only one user setting you still need drive and folder switch handling.

[FileWrite2] is only for the case that the user puts it in the Data folder as this will break the path when the TomahawkPDF+Portable is moved. On contrary, the path to something like X:\Dictionaries is static and therefore unaffected by moving the TomahawkPDF+Portable folder around. Then both enviroment variables don't need to work. Eye-wink

[FileWrite5] was correct (appart from the wrong reg file). You don't need to search for DoubleBackslash to replace the drive letter (but you could). I only add the single backslash in my standard setup to be shure to not replace a capital last letter followed by a colon somewhere but I think that could be dropped for this reg file .

[LanguageFile] works as expected: It reads the value of the key Language from the TPdfPlus.lng to generate the variable %PAL:LanguageCustom% if it is not launched from the platform and therefore %PortableApps.comLocaleName% is not present. Without that, the launcher always resets the language to English (because of Default=English (US)). The whole purpose of LanguageFile is to make the user setting persistent when automatic language switching is not present (either by launching without platform or by disabling it in platform options).

-edit-
Hhmm, took some time to post this thanks to parallel tasking. Eye-wink Reading your last post, I see you found out about FileWrite5

Comparison of the two solutions

First, I want to thank you again for the very constructive cooperation. Through your comprehensible explanations I have learned in recent days a lot. Therefore I would be glad on further teamwork with you in the future.

I have researched in the past few hours now countless variations. First I would like to point out, that your variant, in which you have inserted the file TPdfPlus.lng into the folder DefaultData, in the event of an upgrade from an older version with a non empty folder Data does not work. In this context I refer to your own true statements, which you have given in your message yesterday in respect to PhotoFiltre.

Therefore remains your second Variant, in which you have inserted no file TPdfPlus.lng in the folder DafaultData. Instead you create the file TPdfPlus.lng via Tools - > Languages ​​inside of the program. This solution works fine. However, this solution has the slight disadvantage, that the program not directly starts in the language of the PortableApps.com Platform (the app starts in the english language).

In my solution I have now inserted the folder Languages ​​in the applications folder TomahawkPDF +. This variant starts immediately in the correct language in the PortableApps.com Platform. That's why I've given my variant the preference.

Finally, I would like to give some clarification to your comments concerning the section [LanguageFile]. Indeed it's correct, that it reads the value of the key Language from the file TPdfPlus.lng. But your remark is incorrect, that it creates the environment variable %PAL:LanguageCustom%. Please look for more information in the section "Setting a custom language environment variable" of the Languages documentation. This variable will be generated with the [Language] and [LanguageStrings] sections. The functionality of the section [LanguageFile] is the following. After the first start of the program you create an appropriate file TPdfPlus.lng via Tools -> Languages. Due to the code "TPdfPlus.lng=%PAL:AppDir%\TomahawkPDF+" in the section [FilesMove] the file TPdfPlus.lng will be moved in the folder Data after the closure of the program. At the next start of the program the section [LanguageFile] reads the value of the key Language from the file TPdfPlus.lng in the folder Data. Therefore the program now starts in the suitable language.

Glad that I could help you to

Glad that I could help you to further understanding the underlying structures. Your solution is good if it works.

I have some additional hints regarding the general concept.

As this is a development test (alpha or beta status) it is fair enough to change the way it works like placing a file in DefaultData for it to work. You just have to tell the testers to do a fresh install or delete the data folder or do some special action to setup an existing installation to the desired state. With released apps, it is a complete different story (it would need some custom installer code to adapt the setup once). My setup would work from the moment it is established. And from then on with every update as the specific file (TPdfPlus.lng) would be present in Data.
Every new Dev Test could be used to reset the way, the app works and that might include the need for a fresh install. That's the reason why they are called alpha or beta status. At some point there has to be made a decision how the app should work from then on and if it has no issues, it could be used until it becomes official eventually.

Your setup despite being unconventional works fine, but has some caveats, too.
Remember, following your dev tests, the user would now have a set of superflous language files in the Data directory with your setup (nothing to worry about). And it lacks a fallback option if a language is not present - should be english but stays at the last set language. No big deal either as normally, the user switches only from english to his language and if that is not present it stays english.

For your findings about the LanguageFile Section, they are partly correct, but you are mistaken regarding %PAL:LanguageCustom%. (read its docs)
The section does exactly, what I described earlier. The whole procedure however contains far more steps, but the underlying reason for it is to prevent the launcher resetting the language to English (US). In short, the %PAL:LanguageCustom% is read from TPdfPlus.lng [LanguageFile] to be written bak to it again [FileWrite3]. Otherwise it would default to Enlish and that would be written to TPdfPlus.lng [FileWrite3].

Try using a launcher in debug mode at some point to get true insight, what it does exactly and when. I learn the most that way.

At last, your package works fine, leaves no traces - I would say, leave it this way when you are content with it. I like it.

Correction regarding the section [FileWeite5]

In my last message I meant, that in the [FileWrite5] the backslash must be removed.

Here the corrected section [FileWrite5]:

[FileWrite5]
Type=replace
File=%PAL:DataDir%\settings\TomahawkPDF_1.reg
Find=%PAL:LastDrive%
Replace=%PAL:Drive%

Updated to version 3.1.0.0 Development Test 6

See the above described release notes for changes.

Updated to version 3.1.0.0 Development Test 7

See the above described release notes for changes.

Great! Language switching

Great! Language switching works perfectly now.

Good work!

PDF

Is this thing supposed to read PDF files.

When I click on open existing file it does not see my PDF file despite being on all known formats.

Or is it me that's doing something wrong.

only with the paid version Tomahawk Gold

With the free version Tomahawk PDF + it is not possible to open PDF files. This option is only available with the paid version Tomahawk Gold. Please look at the table called Feature Comparison under the point "Open PDF Files".

But you can create with the free version and the integrated word processor demanding documents. Afterwards you can convert these documents to PDF files via File -> Convert to Pdf. More informations regarding the word processor you get, if you open the file Example.tmd (this file is contained in the folder Tomahawk PDF+).

Cheers

Thanks for the info. I'll get another reader then. Perhaps Foxit or PDFXchange viewer.

main feature

Of course is the PDF-XChange Viewer one of the best PDF Viewer, which I know.

When you create PDF files as above described, then you can merge these PDF files to a single PDF file with the app "PDFTK Builder Portable".

Thanks

I got PDF-XChange viewer from here and it suits my needs.
Basically I just needed a viewer to read the few PDF files I download from the internet. This app does the job perfectly.