private static String createDocumentInformationDictionary(ArrayList<VectorFile> vectorFiles, DocInfoDict docInfoDict)
	throws Exception
	{
		StringBuffer objectData = new StringBuffer();

		objectData.append("3 0 obj\r");
		objectData.append("\t<<");

		if (docInfoDict.getTitle().compareToIgnoreCase("") != 0)
			objectData.append(String.format("\t/Title (%s)\r\t", docInfoDict.getTitle()));

		if (docInfoDict.getAuthor().compareToIgnoreCase("") != 0)
			objectData.append(String.format("\t/Author (%s)\r\t", docInfoDict.getAuthor()));

		if (docInfoDict.getSubject().compareToIgnoreCase("") != 0)
			objectData.append(String.format("\t/Subject (%s)\r\t", docInfoDict.getSubject()));

		if (docInfoDict.getKeywords().size() > 0)
		{
			int count = docInfoDict.getKeywords().size();

			objectData.append("\t/Keywords (");

			for (int index = 0; index < count; index++)
			{
				objectData.append(docInfoDict.getKeywords().get(index));

				if (count > 1 && index < count - 1) objectData.append(", ");
			}

			objectData.append(")\r\t");
		}

		String creator = getCreator(vectorFiles);

		objectData.append(String.format("\t/Creator (%s)\r\t", creator));
		objectData.append(String.format("\t/Producer (%s)\r\t", PRODUCER));

		String currentDate = getCurrentDate();

		objectData.append(String.format("\t/CreationDate (%s)\r\t", currentDate));
		objectData.append(String.format("\t/ModDate (%s)\r", currentDate));
		objectData.append("\t>>\r");
		objectData.append("endobj");

		return objectData.toString();
	}