Components for Developers © 2000-2008, Two Pilots

PDF Library Download Features Manual Tutorials FAQ Pricing HTML2PDF Add-on History In the Lab

 

News form the PDF Library Laboratory

 

The samples should be checked for correctness [PDF Creator Pilot 547]

Sergius Bobrovsky: 05-12-2008 03:39
The samples should be checked. For most of the languages everything should be OK. There is a reason to suspect that the Delfi sample is not quite correct. It must be checked and fixed.

 

A problematic EMF [PDF Creator Pilot 546]

Artem Golubnichenko: 05-11-2008 23:05
This EMF-file contains a table. After conversion into PDF, the text in the table expands beyond the table borders.

 

Page mode switching is not transparent for the user [PDF Creator Pilot 545]

Vitaly Shibaev: 05-08-2008 01:08
For instance, we output a text, preserve current position, then we output an image and check current position of the text, and it is 0, although there is no reason for this, from the point of view of the user.

 

Problems with EMF files containing Greek characters [PDF Creator Pilot 544]

Vitaly Shibaev: 05-07-08 05:50
The old good problem. I've got some ideas how to correct this. After release.

Artem Golubnichenko: 05-07-2008 02:02
During conversion of EMFs, the words that contain Greek characters render with redundant word breaks, the characters themselves do not vanish. Roman characters in the same EMFs render OK.

 

An error during addition of controls with similar names. [PDF Creator Pilot 542]

Vitaly Shibaev: 05-06-2008 22:21
There is no handler for the situation when CreateControl is called with an existing name.

 

The release To-Do's [PDF Creator Pilot 540]

Vitaly Shibaev: 05-11-08 04:27
The (1) is done.

Sergius Bobrovsky: 05-06-08 23:37
It's been decided to put the (7) off until after the release.

Sergius Bobrovsky: 05-04-08 12:53
The (4) is done.

Vitaly Shibaev: 05-04-08 12:38
The (6) is done.

Sergius Bobrovsky: 05-04-08 11:51
Correction: the (5) isn't necessary, there is no such limitation.

Sergius Bobrovsky: 05-04-2008 06:36
1) Deletion of pages
2) Deletion of outlines
3) Deletion of unused objects
4) "Condensing" of xref before save (re-enumeration)
5) Save optimization of xref (in groups by 100 records)
6) Correct the case with the unnecessary object from the forms (that
is always written)
7) Balance the page trees
8) Documents merging
9) Improve API

if possible
10) Deletion of annotations

Test open and save with various documents, and how it works with the open document.

 

A problematic EMF-file [PDF Creator Pilot 539]

Artem Golubnichenko: 04-30-2008 05:38
In the source EMF-file we use Tahoma Italic to output a string. In the resulting PDF-file, instead of the text, there are black rectangles.

 

CMYK Tiff [PDF Creator Pilot 533]

Vitaly Shibaev: 04-17-2008 01:21
The library does not render TIFF images correctly into the CMYK contexts.

 

PdfException and the output window [PDF Creator Pilot 531]

Vitaly Shibaev: 05-04-08 09:21
Now, in case of unexpected PdfException, we write "Unhandled exception: information from GetErrorMessage()". I have inherited our class from the standard exception class.

Sergius Bobrovsky: 04-13-2008 14:15
It would be better if our own exceptions wrote in the Output window explanatory text, in the similar way as the standard exceptions do.
For that, I think, there must be a special method. Probably, we should inherit our PdfException class from a standard exception class, competently.

 

Looks like the annotation outline is ignored during generation of a PDF [PDF Creator Pilot 530]

Sergius Bobrovsky: 04-16-08 13:55
Results of the investigation:
- value of the outline width always equals to 1, and there not an API to change that value;
- it is impossible to control the curvature of the angles with the API;
- only annotations of the Link type support stroke dash patterns of the outlines. The standard implies that the patterns must supported for some other types of annotations, but these other types of the annotations are not supported by our API;
- outline pattern may be (according to the standard) specified with the tag "Border" or as a part of the tag "BS", we use only the first of them, the obsolete one. To specify both of them, we will have to add the code to convert the older format into the modern one (they differ, though slightly).

I don't close the ticket yet, we will have to resolve the problems above in the coming API.

Sergius Bobrovsky: 04-13-2008 14:10
If I got that right, there is no reaction to the types of angles and availability of an outline, and the outline values are ignored during the rendering.
That must be investigated, and fixed, if only possible.

 

Accompanying objects [PDF Creator Pilot 528]

Sergius Bobrovsky: 04-08-2008 06:18
I think we should remove term "the Object accompanying objects".

 

Use of Visual C++ 2008 Feature Pack, in particular TR1 [PDF Creator Pilot 527]

Sergius Bobrovsky: 04-07-08 16:01
I agree. In the next release we will use the smart pointers from TR1.

Vitaly Shibaev: 04-07-2008 15:43
We should create that subject here.

 

Impossible to save a document after PDF.PDFOUTLINES_Clear , Access Violation [PDF Creator Pilot 523]

Maxim Filimonov: 04-06-2008 23:04
Here is a sample:

Set PDF = CreateObject("PDFCreatorPilot3.PDFDocument3")
PDF.StartEngine "demo", "demo"
PDF.AutoLaunch = True
PDF.FileName = "test.pdf"

PDF.BeginDoc
lAction = PDF.CreateGoToPageAction(0, 0)
i0 = PDF.PDFOUTLINES_Add(0, "0", lAction, 0)
i1 = PDF.PDFOUTLINES_Add(0, "1", lAction, 0)
PDF.PDFOUTLINES_Clear
PDF.EndDoc
Set PDF = nothing

When we are at the EndDoc, an Access Violation fires:
void Dictionary::RemoveItem(const char* key)
{

map<string, Object*>::iterator iter = m_items.find(key); // <== here
if (iter != m_items.end())
One more crash was here:
void Dictionary::Add(const char* key, Object* obj)
{
...
if (m_items.size() >= HPDF_LIMIT_MAX_DICT_ELEMENT) // <== here

 

Font problems in an Editbox [PDF Creator Pilot 522]

Vitaly Shibaev: 04-04-08 03:27
The same problem may be observed in Acrobat 7 and 8.
Definitely, we can't do anything about underlines and strike-thrus in the near time. We must first learn to create underlined/striked fonts from the normal ones).

Maxim Filimonov: 04-04-2008 03:01
Look at this code fragment:

PDF.BeginDoc
PDF.PDFPAGE_CreateControl_Edit "edt1", 10, 10, 150, 30
PDF.PDFANNOTATION_Text = "Text"
PDF.PDFANNOTATION_Font_Name = "Times"
PDF.PDFANNOTATION_Font_Color = 255
PDF.PDFANNOTATION_Font_Charset = 0 'charsetANSI_CHARSET
PDF.PDFANNOTATION_Font_Size = 8
PDF.PDFANNOTATION_Font_Style_fsBold = True
PDF.PDFANNOTATION_Font_Style_fsItalic = True
PDF.PDFANNOTATION_Font_Style_fsStrikeout = True
PDF.PDFANNOTATION_Font_Style_fsUnderline = True
PDF.EndDoc

In the PDF that creates, I see the field and the text, as desired. If I select the field, all underlines and strike-thru's vanish. When I append "asd", I see these characters. After the focus is removed, instead of the new text there are squares.

 

It looks like PDF.PDFANNOTATION_Box_Y does not work [PDF Creator Pilot 521]

Maxim Filimonov: 04-04-2008 00:26
Here is the code:

' PDF object is supposed to be created
PDF.BeginDoc
PDF.PDFPAGE_CreateControl_Edit "edt1", 200, 200, 310, 223
PDF.PDFANNOTATION_Text = "Text"
PDF.PDFANNOTATION_Box_X = 10
PDF.PDFANNOTATION_Box_Y = 10
PDF.PDFANNOTATION_Box_W = 100
PDF.PDFANNOTATION_Box_H = 13
PDF.EndDoc

The field remains in the bottom, though it must have moved to the top.

 

GetUsedDC [PDF Creator Pilot 520]

Vitaly Shibaev: 04-04-08 03:09
OK, thanks!

Sergius Bobrovsky: 04-04-08 03:05
I don't know why it is there. I guess, for some calculations, or so. It is legacy from PDF Creator Pilot 2.x, Stas may know why Vadim created it.

Vitaly Shibaev: 04-04-08 02:53
OK, I get it. But why should anybody need to know which context was used as a base for creation of a virtual context?
Do we need that function at all?

Sergius Bobrovsky: 04-04-08 02:43
GetUsedDC() returns the base context that was used during creation of the virtual context.
HDC returns the virtual context itself.
These functions return different contexts.
I have checked the code, it looks to be OK. GetUsedDC() should not set the m_bVirtualDCUsed flag, because to retrieve a context that served as base for the virtual context does not mean to use the context.

Vitaly Shibaev: 04-03-2008 22:54
Will there be any difference in behavior between GetUsedDC() and HDC? After looking at its implementation, I think they should not differ. If this assumption is correct, then the current implementation of GetUsedDC() dies not work quite correctly. It does not set flag m_bVirtualDCUsed.
Or it is as it should be?

 

Misnamed parameters in annotation methods [PDF Creator Pilot 518]

Maxim Filimonov: 04-03-2008 02:50
In the following methods:

PDFPAGE_CreateControl_Button
PDFPAGE_CreateControl_Checkbox
PDFPAGE_CreateControl_Combobox
PDFPAGE_CreateControl_Edit
PDFPAGE_CreateControl_RadioButton
PDFPAGE_SetAction
PDFPAGE_SetAnnotation

the actual order of parameters (l, t, r, b...) differs from the specified (l,b,r,t...).
It must be changed in the code, in the docs. However, I did not do anything yet, since Vitaly makes intensive changes in the Page code, and if I do anything now, it would be very hard to check it back into the svn.

 

The PDFOUTLINENODE_Expanded property is ignored [PDF Creator Pilot 517]

Sergius Bobrovsky: 04-04-08 03:03
Fixed. Only the structure of the outlines took the openness of the outlines into account, and the property was saved only when it was open.

Maxim Filimonov: 04-03-2008 01:47
Even if I specify PDF.PDFOUTLINENODE_Expanded = False, the node remains expanded.

 

PDFPAGE_Scale misbehaves [PDF Creator Pilot 515]

Vitaly Shibaev: 04-04-08 04:20
I have completely rewritten all code dealing with the co-ordinates. Scale, Translate and Rotate now work fine. Tests show, that 0063.emf and 0066.emf started to convert incorrectly (due to the changes).
Comboboxes.vbs misbehaves, too - it requires minor changes, I will fix it a bit later.
There are problems with metafiles (TestAllResolutions, TestLogTextOperations, TestPlayMetafileOnDC, TestPrinterJob3).
Neither TestMu works right.
The ticket remains open.

Maxim Filimonov: 04-01-2008 05:44
Below there is a sample of code that misbehaves. I expected to see something different. This code neither shrinks nor expands the coordinates, it does something else.

Set PDF = CreateObject("PDFCreatorPilot3.PDFDocument3")
PDF.StartEngine "q", "q"
PDF.AutoLaunch = True
PDF.FileName = "test.pdf"
PDF.BeginDoc

PDF.PDFPAGE_SetGrayStroke 0
PDF.PDFPAGE_Rectangle 10, 10, 310, 210
PDF.PDFPAGE_Stroke

PDF.PDFPAGE_Scale 0.5, 0.5

PDF.PDFPAGE_SetGrayStroke 0.7
PDF.PDFPAGE_Rectangle 20, 20, 320, 220
PDF.PDFPAGE_Stroke

PDF.EndDoc
Set PDF = nothing

 

UseCurrentDocumentResolutionForNextPages deprecated [PDF Creator Pilot 514]

Sergius Bobrovsky: 05-03-08 13:55
Max! Please watch the tickets! ;-)

Sergius Bobrovsky: 04-01-08 05:00
Refreshment in the svn.

Maxim Filimonov: 04-01-2008 03:50
Property with a beautiful and short name UseCurrentDocumentResolutionForNextPages does nothing.

 

LastError fails to fulfil its duties [PDF Creator Pilot 513]

Sergius Bobrovsky: 04-01-08 05:43
Of course, do this after you are through with the docs.

Maxim Filimonov: 04-01-08 05:29
OK, I will. But I would prefer to do this after I finish with the docs, if possible. There is no end to similar samples in the doc.

Sergius Bobrovsky: 04-01-08 05:21
Max, would you look at it and fix this?

Maxim Filimonov: 04-01-08 05:15
Well, I was not quite right. LastError does return information about errors. However, not every function logs its errors.
For instance, if we attempt to load fonts from a non-existant file, no error is reported. It would be great to check such places. I keep from closing this ticket, just in case...

Maxim Filimonov: 04-01-2008 03:06
LastError always returns "", no difference whether there was an error.

 

Clip region for ExtTextOut [PDF Creator Pilot 512]

Vitaly Shibaev: 04-01-2008 02:44
Text in the left bottom corner fails to get cut.

 

Let us check whether our functions comply with GDI standards [PDF Creator Pilot 511]

Maxim Filimonov: 03-28-2008 03:56
Let's make sure that all our drawing functions behave as their GDI counterparts. I mean, we should draw lines from the current point to the first one, as in this sample:

PDF.PDFPAGE_MoveTo 10, 10
PDF.PDFPAGE_Arc 100, 100, 200, 200, 150, 100, 100, 150, (currentX), (currentY)

and so on.

 

Problems with an EMF-file [PDF Creator Pilot 510]

Artem Golubnichenko: 03-28-2008 00:34
Two more problems with conversion of an EMF.

 

Vertical text positioning in PDFPage [PDF Creator Pilot 506]

Vitaly Shibaev: 03-14-2008 13:04
Vertical positioning of text is sometimes inaccurate.
1) 0040.emf (the text above), 0090.emf(underlines and strike-through lines)
2) TestVerdanaCharsets from Tests.cpp - UnicodeTextOut(50, 0, 0, L"&http://www.colorpilot.com/mantisbt/view.php?id=218;&http://www.colorpilot.com/mantisbt/view.php ?id=209;&http://www.colorpilot.com/mantisbt/view.php?id=241;");

 

Loading a font named similarly to one of the Base-14 [PDF Creator Pilot 505]

Sergius Bobrovsky: 03-14-08 13:06
What if we check for availability of requested encodings? If that encoding is available in base-14, let us use that, if not - let us look for it inside the OS?

Vitaly Shibaev: 03-14-2008 12:58
For instance, some EMFs make use of Courier (in form of a system TTF- font). In such cases we must output text in that form of Courier, not in the Base-14 analogue. First it looks like there is no problem: we might look for the font in the System, and if there is no such font, look for it in the Base-14. :)
Unfortunately, the straight approach does not work. On my machine, for instance, a font named Helvetica gets successfully picked from the OS, (in fact, it gets replaced with Arial). We must think about it.

 

TestFontSizes in Tests.cpp [PDF Creator Pilot 504]

Vitaly Shibaev: 03-14-2008 12:43
In this test, the printer-based context is not rendered when resolution is set to 72.

 

Leak in CxMemFile::Alloc [PDF Creator Pilot 503]

Sergius Bobrovsky: 03-13-2008 04:29
This leak always happens whenever we use an image. We should examine the case.

 

It is problematic to convert an EMF-file [PDF Creator Pilot 502]

Artem Golubnichenko: 03-12-2008 13:40
There is an EMF-file that converts wrong, the files are here: [URL].

 

We should take the printer contexts only when it is necessary [PDF Creator Pilot 492]

Sergius Bobrovsky: 02-27-08 21:24
I have fixed this. If you run the TestLines test, you may look into the debugger's information about load of the system DLLs, and notice that the printer related DLLs are loaded only during creation of page 5, which is the first page in the test where the printer context is used.
Tests that don't use the virtual printer context, don't load these DLLs. Looks like this is fixed.

Vitaly Shibaev: 02-27-2008 03:52
We should never use the virtual printer contexts unless the user explicitly requests it.

 

The installer suggests to open the demo PDF even when it is missing [PDF Creator Pilot 488]

Sergius Bobrovsky: 02-19-2008 00:13
If we remove demo pdf and help from installation, at its final stage installer suggests to open them any way. That must be corrected.

 

Use of a font in the annotations [PDF Creator Pilot 483]

Vitaly Shibaev: 02-18-2008 14:39
The font that has been set using PDF.PDFANNOTATION_Font_Name = "Arial Unicode MS" isn't included into the PDF unless it is ever used to output a text with, e.g., PDF.PDFANNOTATION_Text = "".
This dependancy is a mistake.

 

AcroForm Submit [PDF Creator Pilot 478]

Vitaly Shibaev: 02-12-2008 14:16
Investigate problems related to AcroForm Submit.

 

Annotation and Charset [PDF Creator Pilot 465]

Sergius Bobrovsky: 05-03-08 13:56
Vitaly! Please watch the tickets! ;-)

Sergius Bobrovsky: 03-07-08 06:47
Fixed. Now it works like Outlines. Along the way I have re-factored some of the stuff, and removed several unused methods.

Vitaly Shibaev: 02-06-2008 03:03
Since SetAnnotation receives unicode input, it is not possible to use Charset there. I don't know how to fight that deprecated feature. I don't even think I would like to do that.

 

A pair of EditBox deficiencies [PDF Creator Pilot 464]

Vitaly Shibaev: 02-05-2008 10:49
1) A long "password encrypted" text is rendered as a single line (see the related ticket 0000463)
2) In case of the right alignment positioning is not precise. This deficiency is related with inaccuracy of the Text**Box functions.
3) In EditBoxes with the text length constraints, entire default texts that are longer than the limit are rendered.

 

Functions TextBox, TextOutBox and TextOutBox2 do not render ideally [PDF Creator Pilot 463]

Vitaly Shibaev: 02-05-2008 10:46
1) Positioning is not quite precise, for instance, in this case:
(Helvetica)
PDF->PDFPAGE_TextBox(100, 220, 130, 230, "Link", (TxHorJust)1, (TxVertJust)1);
2) Any text without spaces (even very large) is rendered as a single line.

 

Text output in the Edit fields of the AcroForm [PDF Creator Pilot 461]

Vitaly Shibaev: 02-04-2008 03:48
By default, text in the Edit fields is not shown unless the Edit field is focused. After any change to the text, this behavior disappears.

 

The parsers are not optimal when reading from the MemoryFile [PDF Creator Pilot 454]

Sergius Bobrovsky: 04-10-08 12:51
After we change lexer and parser, this won't be actual any more.

Sergius Bobrovsky: 01-30-2008 15:28
I suspect that, for instance, ReadLine, isn't quite optimal.

 

A problem in the EMF output [PDF Creator Pilot 453]

Artem Golubnichenko: 01-30-2008 12:33
When the attached EMF-file is converted into a PDF, in the PDF file some text is added between "Menge" and "Artikelbeschreibung". There is no such text in the EMF source file.

 

An EMF-file contained in the archive converts wrong [PDF Creator Pilot 452]

Vitaly Shibaev: 01-30-2008 04:20
An EMF-file contained in the archive converts wrong.

 

Code reorganization of Dictionary and DictionaryStream [PDF Creator Pilot 448]

Vitaly Shibaev: 01-23-2008 11:45
Let us implement these classes normally...

 

TestLineWidth does not work [PDF Creator Pilot 440]

Sergius Bobrovsky: 01-20-08 23:44
Thanks!

Vitaly Shibaev: 01-19-08 10:44
There was a bug in the converter (as usual, in one single line of code) - when we calculated the word spacing, we used the dpi of the EMF-file while we needed the dpi of the page.

Vitaly Shibaev: 01-18-2008 03:52
The same as the subject :)

 

A bad TIFF file. It fails to convert into PDF [PDF Creator Pilot 439]

Sergius Bobrovsky: 01-17-08 11:58
I agree that we must fix that bug ASAP. However, I don't understand how you will return that as unsigned char*. How can you know the size? Or that must be a separate function?

Vitaly Shibaev: 01-17-2008 10:49
The "wstring PDFDocumentImpl::get_OutputByteStream()" contains the following lines:

r_t* pData =....
wstring res = pData;

In the last line only a part of the array gets copied (probably, the copy halts at the first '\0'). This place should be fixed ASAP.
I think we should not cast data into wstring. We could return unsigned char* instead.

 

The library fails to work from ASP [PDF Creator Pilot 425]

Maxim Filimonov: 01-15-2008 08:47
There is a script and an image in the attachment. Output consists of an empty PDF, without the image. It is a TIFF (Jpeg).
Update: file, as usually, failed to attach (with a server error) It is here: [URL]

 

XMP and DocumentInfo do not comply with PDF/A [PDF Creator Pilot 420]

Vitaly Shibaev: 01-12-2008 10:52
There are for inconsistencies with the PDF/A:
1) CreationDate and xmp:CreationDate differ
2) For the fields Title, Author and Subject there must be dc:title, dc:creator and dc:subject.

 

Size of the Font Library [PDF Creator Pilot 419]

Vitaly Shibaev: 01-14-08 22:39
No, there is still a lot of candidates for reduction.

Sergius Bobrovsky: 01-14-08 19:55
Thanks! Are there some evident candidates for reduction? If there is none, let us close the topic?

Vitaly Shibaev: 01-14-08 13:22
The latest results:
Release - 9.6 MB
Debug - 11 MB

Sergius Bobrovsky: 01-14-08 01:14
I don't know. I would like to know.
PS I am not sure that Eugene reads our mails now.

Vitaly Shibaev: 01-12-08 11:01
Today I managed to reduce the size of the Release build from 21 MB to 11 MB. In the Debug build - from 12 MB to 11 MB. However, we still face a strange situation when the Release is bigger than the Debug. Now the difference is not very big at last. It means that there is a lot of opportunities for further optimization.
The main reason so far is the overuse of STL. For instance in a cpp- file we include "stdafx.h", and the pre-compiled headers are off. "stdafx.h" includes three more files - <string>, <map> and <vector>. It is using the "std" namespace. None of those collections is used, however, the object file in the Release build swells terribly. I don't know why: do you have any idea?

Sergius Bobrovsky: 01-11-08 23:58
a) It means that the lib will be yet smaller
c) It looks like we do use something: otherwise I can't imagine where could it take those 20 MB?

Vitaly Shibaev: 01-11-08 23:48
a) the 4 source files are 2.11 MB large
b) We need to use MyArray, but probably, we may manage without it. I will think about it...
c) No, ATL, WinGDI and COM are not used.

Sergius Bobrovsky: 01-11-08 09:30
a) what is the size of the tables? What is their contribution to the size of the library?
b) do we need MyArray?
c) do we use in the library ATL, WinGDI, COM?

Vitaly Shibaev: 01-11-08 06:00
Well, the size may be that large because of:
a) There are several larger tables in the library that contain the encoding data. Actually, if we make everything to be in Unicode in PDFMosaic (in C++), we will not need those tables any more. It is again the same old question about independent use of the existing PDFCreator.sin in PDFMosaic.sin. PDFCreator requires that data.
b) The MyArray<T> template swell. It is used in too many places, with various arguments for T. It is possible that if we use, for instance, MyArray<char> in two different places, it generates two separate classes.
We must investigate it.

Sergius Bobrovsky: 01-10-2008 22:18
Why is the font library (MyFontLib) 10-20 MB large, while CxImage is 1-5 MB large.
We should reduce the size.

 

[Feature Request] We must support the CFF fonts [PDF Creator Pilot 415]

Sergius Bobrovsky: 01-08-2008 22:12
I think we will be very good after that. ;-)

 

Text underline and horizontal scaling [PDF Creator Pilot 414]

Vitaly Shibaev: 01-07-2008 12:19
When a line is rendered, HorizontalScaling is igonred.

 

2 EMF-files fail to convert [PDF Creator Pilot 413]

Sergius Bobrovsky: 01-09-08 00:19
There is a problem in the first file with the fill. As well, it renders some crap instead of the Greek text. I did not look at the second file yet (it is not that important right now).
We should fix the problems around fills and patterns at last, otherwise we would have to spend all our time fine-tuning the library.

Sergius Bobrovsky: 01-08-08 22:40
Looks like there is a problem with the color spaces. I go on with the investigation.

Vitaly Shibaev: 01-07-2008 02:32
The converted documents are empty.

 

[Feature Request] Fills [PDF Creator Pilot 411]

Sergius Bobrovsky: 12-31-07 04:24
See ticket 0000013.

Sergius Bobrovsky: 12-31-07 04:22
This request has been registered, and Stas was assigned.

Vitaly Shibaev: 12-31-2007 02:23
We should implement the pattern fills.

 

Outlines are not Unicode [PDF Creator Pilot 409]

Sergius Bobrovsky: 03-06-08 13:52
I have investigated the problem with assistance of Vitaly. Now we follow the same pattern as with output of the ordinary text: if it is possible to output string with no encoding we output it "as is"; if it needs an encoding service, we use it; if it is a Unicode string, we output that string as Unicode. Under this approach, no text gets cut and lost, any combination of text and encoding works fine.
I have added some code into the test to check right that, everything works as expected.

Sergius Bobrovsky: 12-27-2007 03:58
We must make outlines unicode, in order to use them with different languages.

 

PDFDocumentImpl: non-rational data store [PDF Creator Pilot 408]

Sergius Bobrovsky: 12-27-2007 03:11
In the containers we should store pointers to the objects, instead of their copies. It would be great for memory and efficiency. As well, we could eliminate extra #include statements in the interface.

 

Elimination of ATL in PDFLib [PDF Creator Pilot 407]

Sergius Bobrovsky: 12-27-2007 02:16
This way we could avoid several warnings, decrease the number of dependencies and the size of the library.

 

Document properties are not in Unicode [PDF Creator Pilot 406]

Sergius Bobrovsky: 12-26-2007 23:02
We must make the properties unicode, in order to use whatever language, say, in the keywords, not just English + Local (In Russia, Local = Russian).

 

Transparency, alpha channel [PDF Creator Pilot 400]

Sergius Bobrovsky: 01-14-08 09:24
There exist GDI+ -only EMF files, however, GDI+ is usually converted into a set of GDI commands.

Vitaly Shibaev: 01-14-08 06:08
By the way, does our context support GDI+? I ask that because things look differently in the code and in the EMF. It must be an EMF+, isn't it?

Sergius Bobrovsky: 01-12-08 00:15
I did not think to these details yet. Probably, because there was a BMP-file. If there was a PNG-file, it would be differently. Any way, use EMF for orientation.

Vitaly Shibaev: 01-12-08 00:07
OK, thanks!
And why the images (those that are BMP when on the disk) are created differently (not as in the metafile)?

Sergius Bobrovsky: 01-12-08 00:00
Take the fresh variant.
I have just added 0089.emf - it is what they are rendering to the virtual context of the library. Compare that with what we get in the PDF file. All doubts about where it renders correctly and where it does not should disappear. :-)
Transparency (by itself) is not used here. The images draw with DibPatternBrush (that we don't use) and special flags.

Vitaly Shibaev: 01-11-08 23:52
Why should it look differently, not like the pictures? And why the right hand picture is normal?
The lib does not support transparency, so they can't render correctly.

Sergius Bobrovsky: 01-11-08 09:49
I see. Well, it generates the pictures, but they must look differently any way.
First I was sure that there is a problem with the rightmost picture (black bordered), but then I understood that it is the other one (the red square) isn't good. It must consist of dots, too.
I have added that EMF to the collection of tests. Problem should resolve after we implement the pattern fills (they are used here).

Vitaly Shibaev: 01-11-08 05:45
There is a project in the archive. Compile it, and then it will produce a PDF file and two pictures. These pictures must look like those in the PDF file.

Sergius Bobrovsky: 01-11-08 05:12
Could anybody explain, what is wrong with the attached PDF? and what does the client want? By the way, there is no picture in the archive.

Vitaly Shibaev: 12-24-07 14:28
We should notify a user on beginning (or completion) of our response to this feature request.

Vitaly Shibaev: 12-24-2007 14:13
We should add support of transparency.

 

To-Do's for the release [PDF Creator Pilot 397]

Vitaly Shibaev: 12-27-07 12:58
All "To-Do's" have been done.

Vitaly Shibaev: 12-20-2007
1) There must be no leaks during the execution of tests. Leaks of type "????" in the memleaks.log may be ignored for a while, I think.
2) We must test everything - Tests.cpp, VBS samples, testcase, all test units in the UnitTests, in both, Release and Debug.
3) Get rid of as many Windows-specific classes as possible
4) Replace the System font with Arial

Extra wish-list (probably, for the next version)
1*) Sergey should look at the bug;
2*) Support of CMYK JPEG.

 

A bug in the user's script [PDF Creator Pilot 395]

Vitaly Shibaev: 12-20-07 06:03
I see, thanks!

Sergius Bobrovsky: 12-20-07 05:51
I get the text of the expected sizes.
The results may differ because the Emf2Pdf adjusts converter so that the resolution and dimensions of both PDF and EMF were the same.
In the attached script the PDF resolution is set to the default one (72 dpi), while the page is set to be very huge (7008x4958). As a result, the text is very small.
This can be resolved by either setting the proper coefficients in the PDFPAGE_PlayMetaFileExFromFileName (compress them) or by increasing the page resolution of the PDF-page, like this:

PDF.Resolution = 300
PDF.BeginDoc

The resolution should be set before the BeginDoc and NewPage.

Vitaly Shibaev: 12-20-07 05:13
And the text below is of the normal sizes? I get radically different results with Emf2Pdf and vbs.

Sergius Bobrovsky: 12-20-07 04:17
I have had a look, and I could not reproduce the bug.

Vitaly Shibaev: 12-19-2007 07:44
Emf2Pdf converts the EMF-files from the archive correctly, the vbs- script does not.
Probably the script needs a fix. Sergey, please have a look.

 

A build-server is needed [PDF Creator Pilot 394]

Sergius Bobrovsky: 12-18-2007 05:10
We must create a complex that would import updates from SVN (for instance, after every commit), then it would perform the build, and upload the result onto the ftp (nightly builds).

 

It would be great to enhance our site with "Send us an EMF, and we will convert it into a PDF" [PDF Creator Pilot 393]

Maxim Filimonov: 02-14-08 23:55
We will adjust this stuff as we go.

Sergius Bobrovsky: 12-18-2007 05:08
It is unclear, though, whether it would overload the server or not.

 

It would be great to enhance our site with "Send us a Font and a line of text, and we will convert it into a PDF"... [PDF Creator Pilot 392]

Maxim Filimonov: 02-14-08 23:55
We will adjust this stuff as we go.

Sergius Bobrovsky: 12-18-2007 05:06
and below there would be a list of Fonts (the last 25) sent by the users.

 

The color profiles of images must be supported [PDF Creator Pilot 390]

Vitaly Shibaev: 12-27-07 13:01
A temporary solution: now we just save them into file "as is". I am not sure whether this may be considered as a solution.

Vitaly Shibaev: 12-16-07 22:31
It would be great to resolve this problem before the 27th of January, 2008.
A client needs this feature badly.
Are we in position to resolve it in time?
The image is attached.

Sergius Bobrovsky: 12-14-2007 21:16
Our [potential] clients requested that feature many times. They ask what they could do to prevent conversion of CMYK images into RGB.
As far as I know, it is critical for pre-press that the color was calibrated once and forever. No manipulation with the calibrated images should change their colors.
Let us investigate, what do we miss (or what do we do from what we should not have done).
We need image samples from the clients.
We ought to improve the product.

 

MainDemo.vbs and RegisterForm.vbs should be refreshed [PDF Creator Pilot 386]

Sergius Bobrovsky: 12-13-2007 03:50
Both of these scripts draw a form with radio-buttons. It renders buttons and text separately, in the obsolete way. We should make them use the newer approach. The new one is more clear and better.

 

Incorrect processing of Type1 font unicode output [PDF Creator Pilot 384]

Vitaly Shibaev: 03-02-08 22:44
It is possible to see this now, for instance, in TestType1FontWithManyEncodings test.

Sergius Bobrovsky: 12-12-2007 06:32
Currently, the library fails to process correctly attempts to output a unicode text with a Type1 font. For instance, when we try to output a Russian text with Helvetica, we get junk symbols.
It would be better to render nothing in such cases and return an error code.
A return code should be also returned even in cases when a single glyph did not pass.

 

The library hangs [PDF Creator Pilot 0000383]

Sergius Bobrovsky: 01-08-08 22:30
I have attached the resulting PDF. The conversion takes a lot indeed: it took my computer 3.5 minutes to convert.
That EMF file is a kind of "degenerated". There is a lot of font selection commands following one another, for instance. The converter has to parse all those commands and it takes a lot of time. If the EMF-file was ok, (not for those redundant GDI-commands), there would not be any problem at all.

Vitaly Shibaev: 01-04-08 11:44
I have checked it with the current build. Everything is OK. It works long, but the EMF file is very large, too.

Eugene Starkov: 12-11-2007 03:56
The library hangs during attempts to convert the attached file. The issue was checked with build 580.
It is a screenshot, printed by the virtual printer. The application that printed it out is unknown, and the users refuse to provide us with that information.

 

Import of CSV-files [PDF Creator Pilot 0000378]

Sergius Bobrovsky: 12-06-2007 00:44
CSV files often contain extractions from Excel lists and databases. It would be a great opportunity for the library to be able to import such files, with page separation and spreadsheet look.

 

Custom flavors for controls [PDF Creator Pilot 377]

Sergius Bobrovsky: 12-05-2007 20:20
It would be great to allow custom favors of buttons, checkboxes and radio-buttons.
First, somebody has already asked us to use the mark in a checkbox instead of the cross Second, the standard colors don't fit all
As far as I know, it is possible The question is how to make it easy to use. The other question: what should be made mutable and how.

 

Web-languages samples [PDF Creator Pilot 369]

Sergius Bobrovsky: 12-05-07 6:50
We need samples demonstrating the use of the library from Ruby, php, Perl. It is desirable to design the samples as small articles.

 

[Feature Request] DLL-version [PDF Creator Pilot 0000368]

Sergius Bobrovsky: 12-05-07 6:54
We must develop a DLL-version of the library, to be able to use it without its registration and COM.

 

Size of the static version of the library [PDF Creator Pilot 367]

Sergius Bobrovsky: 12-04-07 6:51
Currently, the static version of the library is too large. Its size is rather inadequate. The size makes upload of the library to the site.

 

[Feature Request] The Linux version [PDF Creator Pilot 0000366]

Sergius Bobrovsky: 12-03-07 6:54
We should develop the Linux version of the library.

 

[Feature Request] The user defined metadata [PDF Creator Pilot 365]

Vitaly Shibaev: 12-03-07 6:54
The user must be able to add custom metadata into a document.

 

[Feature Request] Radio-buttons with text [PDF Creator Pilot 364]

Sergius Bobrovsky: 12-09-07 12:24
Thanks! It is what we needed.

Vitaly Shibaev: 12-07-07 03:54
One may check this with TestRadioButton or TestAcroForm in the Tests.cpp.
I have refreshed the RegisterForm.vbs; the check requires a rebuild.

Sergius Bobrovsky: 12-01-07 01:43
It would be great to make the radio-buttons with text. Now it is inconvenient, because we have to separately output the text. It brings us additional problems with positioning, etc.

 

A crash in the library [PDF Creator Pilot 0000357]

Maxim Filimonov: 12-29-07 04:29
All is OK.

Vitaly Shibaev: 12-27-07 13:06
The EMF files don't crash in the newest build.

Sergius Bobrovsky: 11-29-07 23:09
Every build after the build 580 is not stable.

Maxim Filimonov: 11-29-2007
The library crashes while converting these 4 EMF-files. See the attachment.

void PDFDocumentImpl::cleanUpHDocument()
{

delete m_xref; // <---- the library crashes here
m_xref = 0;

...

}
What is the number of the latest stable build?

 

Changes to apply to the processing of fonts [PDF Creator Pilot 337]

Vitaly Shibaev: 11-28-07 11:18
I have implemented the (3) and the (2).
I did not implement the (1) yet, since there is no special need in it.

Vitaly Shibaev: 11-26-07 07:03
I have implemented the (4) and the (5).

Vitaly Shibaev: 11-21-2007 07:36
1) We need to add support of composite objects (objects that consist of several sub-objects). PDFFont will be one of such composite objects;
2) Let the document creates a font, and the Page takes the fonts from the document, with the FontsManager knowing nothing about the font.
3) Let us register all objects required for the font when it is created;
4) To simplify the above, let us always create a fixed number of objects for a font (let the output always be Unicode);
5) Let us do the (4) only if we make that all into the normal implementation (see "text.doc output implementation").

 

Synthesized bold and italic [PDF Creator Pilot 336]

Eugene Starkov: 11-21-2007 01:29
There is an old problem with rendering in bold and/or italic of fonts where these typefaces are not defined.
GDI renders them, the library does not. For instance, in the 0002.emf italic gets lost during conversion.
It is the time to do something about this.
Vitaly, you promised to look into that when you have time :)

 

[Feature Request] Headers and Footers [PDF Creator Pilot 335]

Sergius Bobrovsky: 11-21-2007 00:43
It would be great if we could define page headers and footers.

 

[Feature Request] API to conveniently add tables [PDF Creator Pilot 334]

Sergius Bobrovsky: 11-21-2007 00:41
Quite often we are asked how to add a table into a PDF.
I think we must implement such API.

 

An Arabic font [PDF Creator Pilot 322]

Eugene Starkov: 11-15-2007 06:21
An Arabic fonts converts wrong.

 

Hidden text lines [PDF Creator Pilot 321]

Eugene Starkov: 11-20-07 00:04
It works!
8.8 pounds of thanks!

Sergius Bobrovsky: 11-19-07 13:13
I have changed this in the SVN, but don't use the latest build because it is not stable.
Just find in the method:
void CEMF2ChipConverter::BitBlt(const ENHMETARECORD* pEMFR)
this line of code:
if ((lb.lbColor & 0x00FFFFFF) == 0x00FFFFFF)
and change it into this:
if ((lb.lbColor & 0x02FFFFFF) == 0x02FFFFFF)
Everything must be OK, as far as I see I did not spoil anything.

Eugene Starkov: 11-14-2007 00:35
The attached EMF-file contains lines of text that have been covered by white rectangles (erased), and above those rectangles there was entered another text. Generated PDF reveals both, those that have been erased, and those written above them. That results in a terrible mess.

 

The library crashes when there is no space to save a file [PDF Creator Pilot 0000320]

Eugene Starkov: 11-14-2007 00:15
The library crashes when it is impossible to save a file because of no space on the disk. We should either catch that exception, or provide an informative message. We have already discussed informative exceptions. I think, now we must implement them.

 

A problem with embedding of CMYK images [PDF Creator Pilot 317]

Vitaly Shibaev: 01-14-08 05:50
Everything works fine in the latest release. As far as I understand, it was a question from a client of the Virtual Printer?
This client may be notified that his problem has been solved.

Eugene Starkov: 11-13-07 01:22
Files are here: (an URL)
Mantis stopped to attach larger files. It reports "APPLICATION ERROR http://www.colorpilot.com/mantisbt/view.php?id=500". File upload failed. Most probably it failed because the size of the file was larger then the PHP configuration permits.
Stas, check that please!

Eugene Starkov: 11-13-2007 00:59
A user complains that the library stopped to correctly embed CMYK- images. The user compares v 3.8 against v 3.2. One can see the difference in the Acrobat, too. There is Advanced- >Print Production->Output Preview. In that window one can manually uncheck specific CMYK channels, and it is obvious that the colors of the images are intermixed.

 

Type 1 once again [PDF Creator Pilot 316]

Eugene Starkov: 11-06-07 11:23
It works!
Thanks!

Vitaly Shibaev: 11-06-07 07:22
Eugene, take TrueTypeFontData::LoadOpenTypeFont, FontData::Create and PDFFont::Create from the current version.
In CFontsManager::loadFont, in the end of the code:

if (font == 0)
{

delete[] pBuffer;
lBufferSize = 0;
return 0;//change this

}
replace "return 0;" with "return getDefaultFont();"
I think that must work.

Sergius Bobrovsky: 11-06-07 07:08
As far as I understand, there is NO suppressor. There is nothing to put in the code.

Eugene Starkov: 11-06-07 07:02
I mean, if there is not too much code in the suppressor, I would put it inside my copy of the code, and then compile.
I just need that somebody pointed me into the right place.

Sergius Bobrovsky: 11-06-07 06:58
The build 580 is a working one.
I did not understand that "I will make the suppressor here".

Eugene Starkov: 11-06-07 06:52
Well.
Can I take build 580 from you, and make it into a special build (with the suppressor) here?

Sergius Bobrovsky: 11-06-07 06:48
There is no CFF fonts suppressor :-(
You are not right about the 593, either.

Eugene Starkov: 11-06-07 06:46
I see. But I need the CFF fonts suppressor.
I looked into the logs, it seems that build 593 was created before the massive reorganization.

Sergius Bobrovsky: 11-06-07 06:41
Just in case:
To never get errors like "... once again", don't use builds after the build 580. We are in the process of massive code reorganization, and there may be lots of bugs.

Eugene Starkov: 11-06-2007 06:38
Me and a customer, are both observing some strange crashes.
When we open in EMF2PDF the EMF file that's attached, first time it gets converted fine, but the next time we press Convert it fails and crashes.
I am working with the build 593, since I need the CFF fonts suppressor.

 

The Chinese hieroglyphs [PDF Creator Pilot 315]

Vitaly Shibaev: 11-29-07 12:00
The situation is absolutely vague. The text gis rendered into the EMF- file in plain Arial. The Sans Serif font that gets created never becomes current during the output. Arial contains no CJK-glyphs. We may conclude that the text was rendered with Arial Unicode MS. I have checked: it is true. If we force the EMF to output in Arial Unicode MS, everything looks fine.

Eugene Starkov: 11-06-2007 05:08
There is some Chinese text, written with Arial and Sans Serif, in the attached EMF file.
In any EMF viewer, the text is rendered, but after conversion into PDF we get squares instead of hieroglyphs.

 

An artefact [PDF Creator Pilot 312]

Sergius Bobrovsky: 01-11-08 08:10
The glitch is a part of two images, used in the EMF (half of the image in one image, the other part - in the second one). Somehow, a strange technic has been applied to the EMF: cutting the image when the output dimensions are less than the real dimensions of the image.
Now I check such cases separately, and process them.

Eugene Starkov: 11-01-2007 23:28
Some raster artefact.

 

Blackness 2 [PDF Creator Pilot 311]

Vitaly Shibaev: 11-02-07 07:04
Well, this problem is not mine. The text renders not as text, but as a drawing.
There is a problem with the fonts anyway - but it is not possible to resolve it. The third line from the top in the output file contains text Bembo. Windows Viewer just outputs not what it must, and we do the same.
The text is output through the indices of the glyphs, and we can't output anything in Type1-fonts as Unicode. You may read the .doc-file in the project root.

Eugene Starkov: 11-01-2007 23:26
Black rectangles instead of symbolic fonts.

 

Fill [PDF Creator Pilot 310]

Eugene Starkov: 11-01-2007 23:24
There is a problem with fills.
Sergey, is it the same problem with the pattern brushes? Is it hopeless?

 

Text disappears [PDF Creator Pilot 309]

Eugene Starkov: 11-01-2007 23:17
Text in the gray line of the table disappears.

 

Blackness [PDF Creator Pilot 308]

Eugene Starkov: 11-01-2007 23:16
All text in a page turns into black rectangles.

 

TTF Fonts with problems [PDF Creator Pilot 306]

Vitaly Shibaev: 12-31-07 05:10
The library does not support CFF fonts until now.

Sergius Bobrovsky: 12-31-07 04:50
And how is it now? Does the library works with the fonts as expected? Does it require more corrections?

Vitaly Shibaev: 11-02-07 15:08
I did it. Now everything is as Sergey described in (597) and (0000600).

Sergius Bobrovsky: 11-02-07 08:02
On attempts to embed a commercial font, we should mark it as NotEmbed.
We should not install such fonts.
In case of PDF/A?
If we do as I wrote above, there will be no problem.

Vitaly Shibaev: 11-02-07 07:49
Sergey, please clarify: in case of an attempt to embed a commercial font, should we mark it as NotEmbed (i.e., rely on availability of that font in the OS)? What should we do in case of PDF/A?

Vitaly Shibaev: 11-02-07 07:45
OK, this is what I will do.

Sergius Bobrovsky: 11-02-07 07:32
I suggest variant (c) - never change fonts when the new one can't be installed. And never embed it.

Vitaly Shibaev: 11-02-07 07:28
Then I suggest to review all complex of alike situation:
1) If the user attempts to embed a commercial font, we replace it
with Arial
2) If a font is not available in the OS, we replace it with Arial
3) For now, we replace fonts of unsupported formats (CFF) with Arial

Often such changes are not quite good: the font being replaced differs from Arial in its look, and the result looks ugly (0034.emf, 0035.emf look this way on my computer; I did not install that font). When the look of the fonts does not differ too much, the result becomes satisfactory.

Variants:
a) leave that problem alone and change nothing
b) change something (for instance, just exclude text in these fonts from output)

Sergius Bobrovsky: 11-02-07 07:10
Is there anything in the To-Do list for today? There is a problem, it must be solved.
There is no need to fix the holes.
If it fails, instead of replacing those fonts with Arial we should just return S_FALSE, without changing anything. The user will have a chance to understand that something does not go well.

Vitaly Shibaev: 11-02-07 07:06
I agree. However, it is better when the library does not crash. It isn't a short task to add support for such fonts.

Sergius Bobrovsky: 11-02-07 06:50
At my opinion, it is a dead-end solution.
It is better to make the library read such fonts. Clients are in position to replace fonts by themselves.

Vitaly Shibaev: 11-02-07 06:42
I've implemented a temporary solution: I replace CFF fonts with Arial. Then, the library stops to crash, and the result is not bad.

Vitaly Shibaev: 11-02-07 04:09
These fonts are based on CFF (Compact Font Format), our library can't work with them... for now.
Scarcely I will fix that, but I start to dig.

Eugene Starkov: 11-01-2007 23:08
Yet more fonts that crash the library.

 

PDF/A sees two problems with the font glyphs [PDF Creator Pilot 304]

Vitaly Shibaev: 10-31-2007 11:17
During Adobe Preflight, there was a diagnostic message that widths of one of the glyphs of Code39 TT in 0083.emf and of two of the glyphs in bembo.pfb are not adequate.

 

Temporary Adobe Acrobat fonts are not compatible with PDF/A [PDF Creator Pilot 303]

Sergius Bobrovsky: 12-31-07 04:53
Have anything been figured out?

Vitaly Shibaev: 10-31-2007 11:15
While 0047.emf and 0048.emf files are converted fine, there is a warning issued during Preflight that states "The font contains more than one cmap.
It is really so: the PDF Reference tells that "... The font descriptor's Symbolic flag (see Table 5.20) should be set, and its font program's "cmap" table should contain a (1, 0) subtable. It may also contain a (3, 0) subtable;..." The last phrase is the most important.
In the PDF/A standard, on absolutely the same, is said "...their font programs' "cmap" tables shall contain exactly one encoding".
Temporary Adobe Acrobat fonts consist of exactly two cmaps, and they are symbolic.
So we have to figure out how to fix that.

 

Type1 fonts hang up the library. [PDF Creator Pilot 301]

Eugene Starkov: 10-30-07 07:44
Mantis seems to glitch when encounters larger attachments.
Download it from here: [link]

Eugene Starkov: 10-30-2007 07:42
Type1 fonts hang up the library.
The EMF file and the fonts are attached.

 

Missing image [PDF Creator Pilot 300]

Eugene Starkov: 10-30-2007 04:22
An image inside the EMF file is not rendered in the PDF.

 

Subject: Report [PDF Creator Pilot]

Vitaly Shibaev: 10-26-07
Hi all,
I have fixed the crashing bug (that used to happen during conversion of TestCourier and TestBase14FontsEmbedding). I got rid of two cases of unnecessary memory allocation in FontLib. That has positively affected efficiency: now the entire testcase converts in the Release version in less then 40 seconds (with previous record being 46 seconds for the set excluding files 0080 and 0081). I've searched FontLib for leaks, and did not find any.
Then I have refreshed the documentation and the code for the RectRotated and the RoundRect. I still need to correct documentation that describes various methods of text output, and the CurveTo.
Then I've delved into resolving the "junk in the clipboard" bug. The buffer got filled with junk in the only case of Unicode output. This might have been resolved by using the usual output everywhere it was possible. I did that, and now it works fine, with the single exception of the Acrobat fonts. It remains to be done yet, but I will finish that on Monday.

Maxim Filimonov: 10-23-07
Hi,
I am reading the book (Martin Fowler. "Refactoring. Improving the Design of Existing Code."), and re-factoring my code. Several times I have asked myself: "who has written about that?", and rejected my own question. The very fact that I have asked myself that question brought me to understanding, that I am one of the "readers" of my own code.
I started to feel somewhat sad, wishing my hardest to improve the world.
Anyway, as Martin Fowler states, refactoring is not a one-time activity. It must be applied on a constant basis, as the code grows.
Now I am learning to think this way. I have separated some code into the other files. In order to elimitnate duplication of code, created a new class to work with XML elements and attributes. I have also rewritten code that saved documents to their files, and some related methods as well. Some methods have gone, some new methods have been added.
As a result, I may see 2 good signs: 1) looking at the code, one can easily tell what a specific method is doing and 2) it seems now that all methods do nothing at all, just call each other.
It is just the beginning, and I would not claim that it goes easily (it is about changing some habbits, that's very hard), there is a lot of obscure places in the code yet... Anyway, I am sure that everything will be fine.

 

Passwords [PDF Creator Pilot 297]

Sergius Bobrovsky: 01-11-08 09:27
I have added TestUserProtection to the collection of the tests. It creates a user password, and outputs a line of text. When we open that file in Acrobat, all operations are permitted for the file.
Looks like the problem has resolved by itself.

Eugene Starkov: 10-30-07 05:28
Is it possible to apply no security at all if only the User Password has been set? Otherwise we get into a strange situation: there is no security password, but printing, copying and modification are all locked? Acrobat does not do anything with security in such cases.

Sergius Bobrovsky: 10-26-07 10:22
Investigation revealed, that:
1) password may be of any length
2) any single password (of these two) is sufficient
3) if there is no Owner Password, while the User Password exists, the
Owner password is considered to be equal to the User password.

Eugene Starkov: 10-25-07 03:43
It is attached. Password is "zzz".

Sergius Bobrovsky: 10-25-07 03:36
I am not sure that the Owner password remains empty. May we look at an Acrobat file with onle the User password set?

Eugene Starkov: 10-25-07 03:30
Acrobat uses them as independtnt on each other. If we set the User password, the Owner password remains empty and permissions remain intact. Did we miss something important in our implementation?

Sergius Bobrovsky: 10-25-07 03:22
It is possible to make that the User Password worked as the Owner Password, too.

Eugene Starkov: 10-25-2007 03:17
There is something wrong with the PDF passwords in our product. The User password fails to work without the Owner password set. When only the User password is set, it is never reuested when the file gets opened.Adobe Acrobat respects both of them. One can install the opening password, and it works fine without any password for permissions.

 

Copy to clipboard [PDF Creator Pilot 296]

Eugene Starkov: 10-30-07 07:21
Everything seems to work. Thanks!

Vitaly Shibaev: 10-29-07 10:18
I've fixed this. Now, whenever possible, instead of Unicode output we use the plain text one. Exception: the CJK fonts, they output as Unicade all text, even the ANSI. One more situation when copy does not function as required: it happens if we copy a text not in standard encoding. For instance, in case of Cyrillic, as a rule we get senseless characters instead of it. We are not alone in this: I have seen a Tex file, where it looks very much alike. Copying into clipboard is guaranteed to work with the first 128 symbols of the table, all other values (i.e., Unicode and 8-bit encodings) are a problem of Acrobat.

Eugene Starkov: 10-25-07 06:42
The problem occurs, as it seems, only with PDF files converted from EMF.

Eugene Starkov: 10-25-07 06:41
I forgot to attach the file, sorry.
We viewed that with Adobe Reader. Attempted to paste in any text editors. Instead of characters we get just horrible shapes in the clipboard.

Sergius Bobrovsky: 10-25-07 03:21
Is it possible to provide us with more details? Which file, what has been used to view that, where did you intend to paste that?

Eugene Starkov: 10-25-2007 03:09
When we copy some text from a PDF file that has been generated by the library, we get some scrap in the clipboard.

 

TestBase14Embedding2 test crashes [PDF Creator Pilot 0000293]

Sergius Bobrovsky: 10-24-2007 07:08
Sometimes the FontsManager becomes incorrect, and the stack gets corrupted.

 

TestMetafileImagesCompression fails to work correctly [PDF Creator Pilot 292]

Sergius Bobrovsky: 12-31-07 04:41
There was a problem with the resolution. In the test, not in the library.

Sergius Bobrovsky: 10-24-2007 03:33
The test results in a file of adequate size, but the pages seem to be empty.

 

Subject: TestCourier test fails [PDF Creator Pilot 291]

Sergius Bobrovsky: 10-24-2007 03:28
The problem seems to be here:
IAnsiPDFFont* CFontsManager::GetANSIVersionOfTheCurrentFont()
{

return getCurrentFont()->GetANSIFont();

}
getCurrentFont() returns 0.

 

TestScripting test fails [PDF Creator Pilot 290]

Sergius Bobrovsky: 10-24-2007 07:07
Sorry, wrong destination. This test works fine!

Sergius Bobrovsky: 10-24-2007 06:57
It fails anyway. The FontsManager becomes invalid at some moment, and the stack gets corrupted.

Vitaly Shibaev: 10-24-2007 05:46
A nice test that helped to discover some failures in parsing of pfb files. The failures have been corrected.

Sergius Bobrovsky: 10-24-2007 01:03
TestScripting fails since because of an unknown problem in processing of Type1 fonts.
P.S. Vitaly, in the future, please don't mislead me by telling that you have ran all tests after modification of code and that everything worked fine during the tests, in case if you did not run all of them but those that you thought had been affected.

 

EMF file renders black. [PDF Creator Pilot 289]

Eugene Starkov: 10-23-2007 09:12
Here you are, an EMF file that during conversion turns into the famous "Black Square" of Malevich.

 

Subject: A strange TIFF file [PDF Creator Pilot 287]

Vitaly Shibaev: 01-14-08 09:52
Looks like it is a dead-end. If we embed it "as is", Acrobat does not show the TIFF. Neither Adobe Creator supports that format.
There is no documentation on that subject. It is absolutely unclear what we should do. Let us delay it for an undefined time.

Sergius Bobrovsky: 10-21-07 12:05
CxImage does not read such files. Neither does LibTiff. I failed to find any information about this format - so it is not quite clear what to do.

Eugene Starkov: 10-19-2007 05:48
TIFF file that I attach has a strange compression flag (Jpeg v5). Neither viewer inside Windows nor ACDsee understand that format. Some other viewers, such as Irfan View, FastStone and more, successfully decipher that TIFF and show it.
CxImage seems to understand TIFFs with the JPEG compression, but the library refuses to add such images.
Please take a look. If it wouldn't take too much, it would be wise to support such files since they are not a rare case nowdays. If it would take a lot of time and efforts, don't...

 

A problem with colorspaces [PDF Creator Pilot 286]

Eugene Starkov: 11-06-07 11:49
When the first file is rendered above the watermark, everything is OK. However, if we render two EMF0-files in a row, without any watermarks, Adobe Reader starts to complain again.
Cf. test2.zip

Eugene Starkov: 10-23-07 03:31
Great! Thanks!

Eugene Starkov: 10-18-2007 08:48
If we play on this PDF page two EMF files in a row (both have come from the printer), the Reader starts to complain about a problem with color spaces, and shows nothing.
In the sample, the first EMF is rendered above a watermark. If we render it straight onto the page, it still has some glitches, different ones.

 

Watermarks [PDF Creator Pilot 285]

Eugene Starkov: 10-17-07 10:18
Thanks!

Eugene Starkov: 10-17-2007 03:34
If we create a new document without "killing" the interface, the first CreateWatermark in the new document returns 0, though the PDFPAGE_Watermark property is said to -1 (= no watermarks in the document). Sample attached.

 

The library crashes when used from ASP [PDF Creator Pilot 281]

Sergius Bobrovsky: 10-24-07 00:44
I can tell from scratch that "HPDF_MemStream_FreeData gets called immediately" isn't correct. The stream may have been created earlier, and it must be cleaned before reuse. Cleaning a stream after its creation would do no harm any way.

Vitaly Shibaev: 10-23-07 13:08
Now about the failure. The failure happens when the flag m_bGenerateDocumentInMemory is set to true, and manifests itself as problems inside writeDocumentToMemory().

Detailed investigation revealed 2 problems:
1) In PDFDocumentImpl::SaveToStream, after creation of a pdf->stream and in some other cases, immediately gets called HPDF_MemStream_FreeData, and that is strange by itself. As a consequence, even the first attempt to write anything into the stream results in Access Violation. Let's try to comment the line with HPDF_MemStream_FreeData.
2) When that line is commented, calling HPDF_REadFromStream() from CBinaryBuffer::GetData() results in an error, because of "if (m_Position >= m_Size) return 0;" in MemoryFile::Read(). If replace "return 0" with "m_Position = 0", everything starts to work fine.

Conclusion: we need to review codes of MemoryFile and MemoryStream.
Do we really need CBinaryBuffer?
I won't comment these changes for now, since MemoryFile::Read() is used from several other locations in the code. It is up to Sergey to decide whether that modification would be correct.

Vitaly Shibaev: 10-23-07 12:51
To debug the library when it is used from ASP (Thanks to Stas for the solution), the code from ClassicASPAttachMacro.txt must be placed into a macro of the Visual Studio. Then we should open our library in the VS, and then launch the script that we plan to test in the browser. Then, while the browser is open, we run that macro, and attach to the proper process. After refresh in the browser we get to the proper breakpoint.

Sergius Bobrovsky: 10-08-07 07:02
Most probably, something goes wrong in either exceptions or in the temporary files. Vitaly, did you change anything around them?
Everything worked fine quite recently.

Eugene Starkov: 10-08-2007 06:46
When used from ASP, the library crashes somewhere in EndDoc().

 

MetafileImagesCompressionType [PDF Creator Pilot 280]

Sergius Bobrovsky: 10-08-07 07:36
It is right what I tell: it was a mistake to invent this.

Eugene Starkov: 10-08-07 07:31
This option has been invented right for this: so that users could specify image compression from EMF.
Thanks!

Sergius Bobrovsky: 10-08-07 07:27
This failure is the result of a wrong practice. It certainly was a mistake to provide the users with an option to specify image formats inside PDF.
We must decide: either the user should be able to specify a format (and fight with consequences of his own decision on his own), or the user should not have that opportunity.
Fixed.

Eugene Starkov: 10-08-2007 06:43
In the sample that's attached, if we set MetafileImagesCompressionType to itcJpeg, the image inserts as an empty frame.

 

Subject: One more killer-EMF [PDF Creator Pilot 278]

Sergius Bobrovsky: 10-12-07 05:05
Have you added that to the test case?

Vitaly Shibaev: 10-12-07 05:02
We save (preliminary) temporary Acrobat files (in EMF2ChipConverter::CreateAndSaveFontFile) at our own location. To save the files we use selection on the file names that contain a dot. In the meantime, m_FontIsTemporary in Chip2PDFConverter is set to true if the name ends in ".tmp". This is the reason of the problem. One of fonts in EMF contains a dot in its name. This has been fixed, now EMF2ChipConverter::CreateAndSaveFontFile checks whether a name ends in ".tmp".

Eugene Starkov: 10-10-07 02:10
Vitaly, please take a look , when you will have some time!

Sergius Bobrovsky: 10-08-07 00:27
There is an error in implementation of CLogFontWrapper. When it is created, the name of the font gets copied into a variable that is 32 bytes long. Debugger reveals the problem immediately.

Eugene Starkov: 10-07-07 22:41
It's a megaglitch. I fail to attach the file. I tried 5 times! Download it from here: [link]

Sergius Bobrovsky: 10-07-07 22:11
Where is the file?

Eugene Starkov: 10-05-2007 05:32
This EMF-file crashes converter. Of course, most of the fonts used in the EMF are absent. But it should not crash anyway! :)

 

Subject: Preflight PDF/A [PDF Creator Pilot 277]

Eugene Starkov: 10-09-07 10:13
Great, thanks!!!

Sergius Bobrovsky: 10-09-07 01:51
It was my fault. I created a color profile not quite correctly. Acrobat indicated that it was correct. However, it lead to failures when I attempted to check it.

Sergius Bobrovsky: 10-08-07 07:14
Unfortunately, all "C"s are Roman, I have checked.

Eugene Starkov: 10-08-07 07:08
Isn't any of these "C"s in Cyrillic instead of Roman?

Sergius Bobrovsky: 10-08-07 07:04
Still can't understand why two sequences of absolutely correct commands result in either failure in parsing or crash of Acrobat.

Eugene Starkov: 10-08-07 00:42
Have you ever seen such constructions in the real life? Is it possible to recreate it with some other tools? There may be some hint how to use these strange commands.

Sergius Bobrovsky: 10-08-07 00:17
Investigation shows that this failure happens with both, PDF files generated from EMF and not generated from it.
Below is the script that creates a file that crashes Acrobat, too:
Set PDF = CreateObject("PDFCreatorPilot3.PDFDocument3")
PDF.StartEngine "demo@demo", "demo"

PDF.AutoLaunch = true
PDF.FileName = "HelloPDF.pdf"
PDF.BeginDoc

profile = PDF.LoadICCProfile("sRGB Color Space Profile.icm")
PDF.PDFPAGE_SetColorSpace profile

PDF.PDFPAGE_TextOut 10, 20, 0, "HELLO, PDF!"

PDF.EndDoc
Set PDF = Nothing

Acrobat crashes when there is a construction like this:
/C1 CS
/C1 cs

where the first string installs color profile C1 for lines, the second installs it for fill. This construction is absolutely correct, but Acrobat fails to understand it for unknown reason. If we add color setup, in the other words, add to the output file a construction like this:
/C1 CS
0 0 0 SCN
/C1 cs

then Acrobat does not crash any more, just complains that it cannot parse content of the page any more. Again. this construction is absolutely correct.
What to do? No idea...

Sergius Bobrovsky: 10-05-07 09:12
It has been discovered that this depends on content of a page. Now I see how to debug it, I will try to figure out what to do.
Preliminary diagnose: we violate requirements of the PDF 1.3 specifications (for instance, nesting level of stack operations have some limit) if that's the reason, it will be very hard to correct.

Vitaly Shibaev: 10-05-07 04:36
Acrobat 8 crashes on that check since long ago, for all PDF-files converted from EMF. Sergey was the first to notice that. I still have no idea about what is going wrong there. Sergey, what do you think about it?

Eugene Starkov: 10-05-2007 03:57
For an unknown reason, Acrobat 8 started to crash while checking our PDF files or compatibility with PDF/A. The problem does not depend on fonts embedding. Some other reason...
Vitaly, try to help!

 

Text color gets lost [PDF Creator Pilot 272]

Sergius Bobrovsky: 10-09-07 11:27
Yes, for now.

Eugene Starkov: 10-09-07 11:24
Is it lethal?

Sergius Bobrovsky: 10-09-07 11:05
As usual: tricky superposition of several images.

Eugene Starkov: 10-09-07 10:21
Have anybody tried to figure out what is wrong?

Eugene Starkov: 10-04-2007 07:21
Text color gets lost during conversion of an EMF-file. File has been created by printing from Adobe Acrobat.

 

Subject: Edit box [PDF Creator Pilot 269]

Eugene Starkov: 10-04-07 10:48
Ok, thanks!

Sergius Bobrovsky: 10-04-07 10:45
Ok, let us mark that bug as "fixed" - fonts, glyphs, colors etc work fine, while exact positioning (+/- a pixel) is hardly achievable.

Vitaly Shibaev: 10-04-07 09:39
Now, in case of EMBED_USED_GLYPHS_ONLY the array of widths gets filled completely. It causes no harm. Edit boxes now work fine. Before, in case of glyphs, they did render incorrectly.

Vitaly Shibaev: 10-04-07 09:04
Now I will fill it...

Vitaly Shibaev: 10-04-07 09:03
I have corrected the widths case. I found that in case of EMBED_FULL_FONT the code selected glyphs. Now widths are written correctly, depending on embedding mode. Now they are rendered fine in edit boxes, too. One thing is strange. When the mode is EMBED_USED_GLYPHS_ONLY, glyphs are selected, and their own widths are written - but everything draws fine.

Sergius Bobrovsky: 10-04-07 08:55
Vitaly, to confirm my claim about the font widths, try to type "Hide e-mail" (without quotes) - nothing gets collapsed.
Eugen, it is impossible to make it fit exactly anyway. Acrobat calculates its text rendering on its own. I tried myself to adjust it, and it did not help. After a click, Acrobat draws everything on its own, all I can do is to control the font, size and color of the text. It is impossible to control positioning and anything like that. If we zoom the screen, we may notice that characters shift not only in the horizontal direction, but vertically, too. That may be a glitch of antialiasing.

Eugene Starkov: 10-04-07 08:06
Vertical alignment against center should be good for one line Edit boxes. Is it possible to predefine central alignment for one-line Edit boxes and top alignment - for the multi-line ones?

Eugene Starkov: 10-04-07 08:04
"I will correct that (vertical alignment against center instead of against top) if needed" - Please, correct it!

Sergius Bobrovsky: 10-04-07 07:57
Well,the same answer to all questions:
Vertical alignment works this way by design, it was ported from the code of Stas. I will correct that, if needed.
Cursor fails to offset horizontally because some people fail to specify widths for an inserted font.

Eugene Starkov: 10-04-07 05:33
One more bug: on opening a document, if there isn't a lot of lines, these lines become aligned vertically against the center of the page, while they must align against its top. When anything is entered in the field, everything normalizes. The text starts to align against top (properly).

Vitaly Shibaev: 10-04-07 05:14
It can bee seen in RegisterForm.vbs.

Sergius Bobrovsky: 10-04-07 02:24
Fixed.

Eugene Starkov: 10-03-07 22:38
One more bug, most probably related to the first one. Look at <more.zip>.
Immediately after opening a PDF-document, the first field shows only the first string, and renders it in bold and italic. The same happens in the second field (bold and italic are NOT set). After a click in any of these fields, all text reappears. When the focus moves to another field, there is again only the first string in this field. If we enter some data into the fields, strings stop to disappear; however, the first field loses its bold and italic styles.

Eugene Starkov: 10-03-2007 03:46
It is impossible to set up the fill color inside Edit boxes. The Text color mutates in a strange way. When the box is focused, this color is correct. When it is not focused, the color is wrong.

 

GIF [PDF Creator Pilot 256]

Eugene Starkov: 10-01-07 23:02
Muchas gracias, señor!

Sergius Bobrovsky: 10-01-07 22:54
I have fixed this bug.
By the way, we might advise the users to use AddImageFromFile(), in which they don't need to specify the type of compression. It will choose an appropriate type of compression by itself.
The only case when AddImageFromFileName() should be used is when the user wants to convert a color image into a BW (in this case one must specify itcCCIT3, itcCCITT32d or itcCCITT4).

Eugene Starkov: 10-01-2007 12:23
The library does not want to render GIFs, I suspect this problem is related to transparence, since GIFs with no transparency are inserted fine.

 

A sample in Delphi [PDF Creator Pilot 0000234]

Eugene Starkov: 09-28-07 02:11
Thanks!

Sergius Bobrovsky: 09-28-07 02:00
I've replaced it. I could not check it myself since I don't have a copy of Delphi.

Eugene Starkov: 09-28-2007 01:32
Sergey, please replace the Delphi sample in the library (look at the attachment).

 

Rotation angles [PDF Creator Pilot 233]

Vitaly Shibaev: 10-30-07 13:48
I have refreshed the documentation.

Vitaly Shibaev: 10-01-07 07:31
Yes, let us hold it with the status of "Information".

Eugene Starkov: 10-01-07 04:35
Most likley, it did not convert properly in 3.6.366, too. The user must have mixed up the screenshots., while I have checked it with the latest version only.
I think we will not close this ticket until the docs get corrected?

Vitaly Shibaev: 09-28-07 05:29
Fixed. It was a result of ambiguity of the documentation. Long ago, when the graphic mode had been re-factored, (when there were some problems with the arcs), there was no good test to check back compatibility for RectRotated. It was unclear how that call was intended to work, what requirements should be requested for its parameters etc. As a result, after re-factoring, it was presumed that rendering starts from the lower left of the image, clockwise. Why I presumed this, I don't know.
When documentation will be updated, we need to make parameters more systematic (in PDFDocument and PDFPage).
By the way, it's a wonder how the library could convert this code earlier. I have rolled the library back to the 366th revision, and tried: it converts in the same way as the new ones.

Sergius Bobrovsky: 09-28-07 02:07
It is a bug, certainly.

Eugene Starkov: 09-28-2007 01:29
In the latest versions of the library, rotation angles in PDFPAGE_RectRotate are processed differently from the earlier versions. There are two samples in the attachment, from v 2.5 and v 3.6.366.
Version 3.6.423 rotates shapes in the opposite direction. Is it a bug or a feature?

 

Subject: Inherit security from folder [PDF Creator Pilot 232]

Eugene Starkov: 09-28-07 01:34
Well. I agree.

Vitaly Shibaev: 09-28-07 01:27
I agree, the problem is not related to the library.

Sergius Bobrovsky: 09-28-07 01:20
Eugine, are you sure it is a problem of the library? The library creates files with default settings, all rights are granted by Windows, and I think it is OK.

Eugene Starkov: 09-28-2007 01:13
Users ask that the generated PDF file inherited security settings from the folder where they belong. Most likely, we must look at the API function SetSecurityInfo(). I have also found this: http://support.microsoft.com/kb/266461.
It is in basic, however it must give us information about proper initializations and so on.

 

COM Exceptions [PDF Creator Pilot 231]

Sergius Bobrovsky: 10-08-07 07:01
I agree that it would have been great, but now it is too late. Implementation of that interface was never planned, and now I don't think it would have a sense.

Eugene Starkov: 09-24-2007 03:21
It would be great to supply library exceptions with comprehensible text comments. Here is a sample of how that can be done with a help of IErrorInfo: http://msdn2.microsoft.com/en-us/library/ms221186.aspx

 

EnhancedMetafile.vbs [PDF Creator Pilot 0000217]

Eugene Starkov: 09-21-07 03:44
Thanks!

Eugene Starkov: 09-21-2007 01:37
One of library samples does not work correctly. That must be fixed before the next release.

 

Superscript text [PDF Creator Pilot 208]

Sergius Bobrovsky: 09-10-07 17:38
This error shares its nature with that described in #203. Output has been optimized in the same way: the pluses and the 'x's are rendered with an increased distance between characters.

Eugene Starkov: 09-10-2007 11:11
Problems with superscript text and the '+' characters.

 

Vanishing lines [PDF Creator Pilot 207]

Eugene Starkov: 09-21-07 01:38
Thanks!

Sergius Bobrovsky: 09-17-07 11:54
There was an error, but it was related with libharu streams, not with watermarks. The script just made that problem visible. Now this error does not appear any more, the page looks alright amd all lines render.
Don't give that to the clients, since it is not yet tested, and Vitaly works hard with the fonts :)

Eugene Starkov: 09-13-07 10:40
We have removed everything unneded from the script (see new.zip) Script is correct, however the problem is still there.
When we switch off the watermark ('PDF.PDFPAGE_Watermark=0), all lines start to render.
When the watermark is on, some error is reported and some lines stop to render.

Sergius Bobrovsky: 09-10-07 08:14
There is a fragment like below in the attached script:
PDF.AddImageFromFilename
"C:\DOCUME~1\Vladimir\LOCALS~1\Temp\anf_temp\bgnd_img.jpg", 1
PDF.PDFPAGE_ShowImage 0, 0.000000, 0.000000, 612.000000, 842.250000,
0.000000
PDF.SwitchedToWatermark=false
PDF.PDFPAGE_Watermark=0
When we comment this line out:
PDF.PDFPAGE_Watermark = 0,
everything works fine, the lines start to render.
The script indicates that after the watermark has been switched off, it was switched on again. That was the reason for the problem.
Another question: why it's me who checks that, not Stas?

Eugene Starkov: 09-10-2007 06:03
In a document half of its lines... disappear. See attached script and Untitled1.pdf.
Opening that file, Adobe Reader 7 complains about an unrecognized token (see screenshot). Adobe Acrobat 8 does not complain, and does not draw.

 

Vector problems [PDF Creator Pilot 205]

Sergius Bobrovsky: 09-10-07 04:13
There is no surface concept in PDF. Most of operations that mix the things already rendered with the things that are about to get rendered, cannot be transfered directly from GDI into PDF
There is a variant with preliminary calculations inside converter, but it is close to writing our own GDI driver. Because of complexity and low demand, I don't think it is worth trying.

Eugene Starkov: 09-10-07 00:14
Tell me please, is it absolutely impossible to do with PDF API, or we just have to do a lot of extra work?

Sergius Bobrovsky: 09-09-07 17:34
We can't.
It is not a problem with vectors. Vectors draw ok. The problem is that images that are rendered by StretchDiBits, with the flag SRCINVERT do not render correctly in a PDF.
The worst about this: it seem to never become possible. I don't think that this feature of GDI may be transferred into PDF in any adequate way.

Eugene Starkov: 09-09-2007 12:57
Can we convert shapes like this? (see attachment)

 

Stretched characters [PDF Creator Pilot 204]

Sergius Bobrovsky: 09-09-07 17:30
Fixed, look at the SVN.

Eugene Starkov: 09-09-2007 12:40
During conversion of the attached file, we observe vertical stretch of characters.

 

Subject: Formatting gets lost [PDF Creator Pilot 203]

Eugene Starkov: 09-10-07 00:10
They tell that they printed out a PDF file. It must be Acrobat Reader or its kinsmen.

Sergius Bobrovsky: 09-09-07 13:01
By the way, what a super-program produced this file?

Sergius Bobrovsky: 09-09-07 13:01
This error shares the same nature with error that was described in the #14.
The very gist of it: strings are transfered exactly as they are rendered inside PDF. Spaces (word breaks) appear because there is an arrays of inter-character distances. At positions with 3 times larger space between characters than anywhere else, one can visually observe bigger distances between the rendered characters.
It is possible to correct that error by breaking an input string into several separate strings, and then output them sequentially. However, since it is not an universal approach and it may be killing for productivity of converter, I would not suggest to go this way.

Eugene Starkov: 09-09-2007 12:37
During conversion of the attached EMF, text formatting gets lost.

 

Subject: Bembo font [PDF Creator Pilot 202]

Eugene Starkov: 09-21-07 01:38
Excellent!

Vitaly Shibaev: 09-14-07 15:42
Fixed. There is now a pseudo-unicode output for Type1 fonts, and it works.

Eugene Starkov: 09-14-07 08:16
The user understood that this font is commercial, and that we won't embed it. However, we have to investigate the case when a Type1 font gets embedded, while not used.

Vitaly Shibaev: 09-12-07 12:59
The TTF font from the attach is a commercial one (fsType = 2). It is still obscure for me, why the Type1 font gets embedded instead of it. However, it is clear why a Type1 font gets replaced with Arial: it is impossible to use a Type1 font with Unicode.
Verdict: it is impossible to output Unicode text in that font because the font is commercial.

Eugene Starkov: 09-09-2007 12:21
Another mysterious font. In a converted PDF it is always replaced with Arial.
There are TTF and Type1 versions of that font in the archive. I tried to install only TTF. Upon that installation, the font gets replaced any way.
Then I additionally install the Type1 version, the font still gets replaced, now with a glitch: PDF embeds the Type1 version, while uses the TTF one.

 

Unused fonts should not get into the final documents [PDF Creator Pilot 0000201]

Sergius Bobrovsky: 09-14-07 19:11
Files always contain Helvetica, even if there is not a single string of text. The worst: test TestFontEmbedding (that I have added today) returns something impossible to imagine.
Implementation seems to be lame any way.

Sergius Bobrovsky: 09-04-2007 08:24
Now there is a lot of unused fonts in the output documents. Say, a user selects Arial, then [s]he immediately selects Times, and outputs a string of text. The document will contain both, Arial and Times. There must be only Times.

 

One more EMF with problems [PDF Creator Pilot 193]

Eugene Starkov: 08-22-2007 06:57
After conversion, all space between columns of the diagram gets filled with black.

 

Insignificant problems with kerning [PDF Creator Pilot 185]

Eugene Starkov: 08-20-2007 06:37
During conversion of the attached EMF-file, text in some cells gets stretched horizontally. For instance, text "182d" after conversion looks as if there was a space before the "d".

 

Embedding of Base-14 fonts [PDF Creator Pilot 177]

Vitaly Shibaev: 07-31-07 06:45
Ok, I am doing that.

Sergius Bobrovsky: 07-31-2007 05:49
It is necessary to add embedding of Base-14 fonts (Helvetica and alike), to comply with the requirements of PDF-A.

 

Tag OutputIntents isn't written into output documents [PDF Creator Pilot 176]

Sergius Bobrovsky: 08-27-07 18:53
New methods description has been added. A tedious work!!!

Sergius Bobrovsky: 08-26-07 19:47
In general, I have finished support of color spaces, Clip Document has changed, too. A pair of tags that have been just announced now do exist and work.

Now, to the list of supported standards
DeviceGray
DeviceRGB
DeviceCMYK

we have added two new ones:
ICCBasedRGB
ICCBasedCMYK

It is good for the PDF/A, it is also good for those who needs exact color synchronization. I have written several tests to check how that works, and I have attached here results of one of them. An amazing effect: there are four squares, all of then rendered in the same color, but they look somewhat different. Near every square there is the name of the color space with which it was rendered.
I have also added support of color spaces into EMF (and in the virtual context, too). It is possible to generate a file like the attached one with the help of TestEMFColorspaces. For CMYK color spaces, see TestCMYKColorspaces.
All we have to do now is to describe the new methods in the documentation, and close the ticket. Then I will bring together everything what is needed for support of PDF/A, and after Vitaly comes back we will check everything and release a new version.

Sergius Bobrovsky: 08-17-07 12:06
OutputIntents has been added.
To add this tag I had to implement (almost completely) all operations with the color spaces. It is not nuclear physics, but initially I knew nothing in that area. Now I decided to finish color spaces, too.

Sergius Bobrovsky: 07-31-2007 05:47
Optional tag OutputIntents isn't written into the catalog of the output documents.
That tag is needed to pass the PDF-A compliance validation.

 

Tag MarkInfo isn't written into the output document [PDF Creator Pilot 175]

Sergius Bobrovsky: 08-02-07 03:20
Now this tag is written, with default values. There are no other - our documents are not logically structured.

Sergius Bobrovsky: 07-31-2007 05:34
We need to write optional tag MarkInfo into the catalog of the output document. Otherwise the document will not pass the PDF/A compliance validation.

 

When a file is created, tag ID isn't written to the trailer [PDF Creator Pilot 174]

Sergius Bobrovsky: 07-31-07 15:29
I have added that tag. The validator started to complain about one position less. ;)

Sergius Bobrovsky: 07-31-2007 05:28
During creation, tag ID isn't written into the trailer. This tag is marked in the PDF Reference as "Optional, but strongly recommended". Without that tag, the document will not be in position to pass the PDF/A compliance validation.

 

Font HolidayPi BT [PDF Creator Pilot 173]

Eugene Starkov: 07-26-07 23:06
Thanks!

Vitaly Shibaev: 07-25-07 12:26
Cool font! I will look at that tomorrow.

Eugene Starkov: 07-25-2007 12:15
A client has sent us a symbol font named "HolidayPi BT".
The library refuses to convert it.
No error is reported, but the PDF file isn't created.
See the attached EMF.

 

ETO_CLIPPED in ExtTextOut [PDF Creator Pilot 0000169]

Sergius Bobrovsky: 04-02-08 11:12
Upon request of Slavomir Korbas :-) I have sped up the process, and added support for ETO_CLIPPED. Now the text gets cut as it should. After testing this a little, I noticed that it seems to work.
I did not test it thoroughly, though.
We could give the clients our intermediate build, with a note that is it not quite tested... or maybe, we would better test it ourselves.

Eugene Starkov: 06-21-2007 04:26
The library ignores the ETO_CLIPPED parameter in ExtTextOut.

 

Requested a function of text output with pagination [PDF Creator Pilot 0000162]

Eugene Starkov: 09-25-07 11:50
No, that function IS needed. It must look approximately like this: int PlainText(BSTR text, LONG leftMargin, LONG topmargin, LONG rightMargin, LONG bottomMargin);
It must return the number of resulting pages.

Sergius Bobrovsky: 09-21-07 23:47
Three months have passed, but I still don't know for sure what is needed.
Or nothing is needed - if so, let us close the ticket.

Sergius Bobrovsky: 06-17-07 02:15
Eugin, please write in more details how these functions should work.
What should they get from the user, how should they behave.
In general it is more or less clear, but just in general.

Eugene Starkov: 06-01-2007 09:43
A function is needed for automatic output of text with pagination, and user-specified margins.

 

Documentation Update [PDF Creator Pilot 161]

Eugene Starkov: 10-17-07 12:37
It's normal :)

Vitaly Shibaev: 10-17-07 12:31
My fault: I did not update Tests.cpp after I had changed the order in which the tests are executed. And I don't know how I managed to never notice these problems: I rebuilt it twice before commit...

Eugene Starkov: 10-17-07 09:59
Tests.cpp and StaticTests.cpp complain about PDFPAGE_ArcTo.

Sergius Bobrovsky: 08-28-07 18:21
Vitaly, please do that yourself!

Vitaly Shibaev: 06-01-2007 09:19
It is necessary to update documentation and rename parameters in the interface of PDFDocument for both, static and COM, versions.
1) Method parameters of PDFPAGE_Arc are (DOUBLE cxLeft, DOUBLE cyTop, DOUBLE cxRight, DOUBLE cyBottom, DOUBLE cxFirst, DOUBLE cyFirst, DOUBLE cxSecond, DOUBLE cySecond, DOUBLE* cxCurrent, DOUBLE* cyCurrent)

2) Method parameters of PDFPAGE_Arc2 are (DOUBLE cxCenter, DOUBLE cyCenter, DOUBLE dxRadius, DOUBLE dyRadius, DOUBLE dDegreeStartAngle, DOUBLE dDegreeSweepAngle, DOUBLE* cxCurrent, DOUBLE* cyCurrent). Text regarding current (not final) sweep angle needs to be changed, too

3) Method parameters of PDFPAGE_Pie are (DOUBLE cxLeft, DOUBLE cyTop, DOUBLE cxRight, DOUBLE cyBottom, DOUBLE cxFirst, DOUBLE cyFirst, DOUBLE cxSecond, DOUBLE cySecond). Text on drawing direction (that always goes counterclockwise) must be changed.

4) Method parameters of PDFPAGE_Pie2 are (DOUBLE cxCenter, DOUBLE cyCenter, DOUBLE dxRadius, DOUBLE dyRadius, DOUBLE dDegreeStartAngle, DOUBLE dDegreeSweepAngle). Text regarding current (not final) sweep angle needs to be changed. Text on drawing direction (that always goes counterclockwise) must be changed, too.
These were the most important changes. There is also an undocumented method PDFPAGE_ArcTo, with two additional parameters placed before blsClockwise: cxCurrent and cyCurrent. Being identical to PDFPAGE_Arc it allows to specify the drawing direction. It is utterly important for the converter. It would be nice to add its description, too - though it is not that important.

 

I suspect that a part of the document isn't released during call of EndDoc [PDF Creator Pilot 00000154]

Sergius Bobrovsky: 01-08-08 22:49
Now there are no suspects in leaking or non-releasing the memory. :-)

Sergius Bobrovsky: 05-22-2007 13:40
I suspect that a part of the document isn't released during call of EndDoc. When I call Release, everything gets released.
It may lead to increase amount of the used memory (though, as far as I understand, there is no leak).

 

Feature request: Render a long EMF file to multiple pages [PDF Creator Pilot 0000090]

Eugene Starkov: 09-25-07 11:42
Well, let's close this ticket.

Sergius Bobrovsky: 09-21-07 23:45
Is that feature demanded? Nobody else asks for that.

Eugene Starkov: 02-16-07 00:18
No, it is not a case of custom development. It would be a great feature. Complaints - it is another topic. It is always possible to complain about anything...

Sergius Bobrovsky: 02-15-07 01:00
It is absolutely real, for sure. It's done in HTML2PDF Add-on. But... Then there will be questions about quality of split of the pages, for instance "why this picture gets cut while texts don't".

Eugene Starkov: 02-14-07 22:14
First tell me, whether it is doable or not. Maybe it would be better to just say "no"?

Sergius Bobrovsky: 02-14-07 05:51
A question: could we ask that user to pay us for that service? It is outside of the product's specifications. It looks like custom development.

Eugene Starkov: 02-06-2007 10:12
We should implement pagination of large EMF files into multiple pages, like it is done in the add-on.

 

Feature request: ISO PDF/A [PDF Creator Pilot 088]

Sergius Bobrovsky: 01-08-08 22:45
Since there was no complaint during 4 moths, we may close that topic.

Sergius Bobrovsky: 08-28-07 18:27
To support PDF/A, I have added the following functions to the library:
LoadICCProfile
SetPDFAOutputIntent
SetPDFXOutputIntent

PDFPAGE_GetColorSpace
PDFPAGE_GetColorSpaceType
PDFPAGE_SetColorSpace
PDFPAGE_SetDefaultGrayColorSpace
PDFPAGE_SetDefaultRGBColorSpace
PDFPAGE_SetDefaultCMYKColorSpace

PDFPAGE_SetColor
PDFPAGE_SetColorFill
PDFPAGE_SetColorStroke
I have added this property:
ProducePDFA

and that new data type:
TxColorSpaceType

I have described all of that in the documentation, made changes in the library code to make everything work.
Now I regard implementation of PDF/A as finished, when Vitaly is back we will test that.
Eugene, please test it, too - if you can. A test is named TestPDFA.

Sergius Bobrovsky: 08-02-07 17:15
We continue to ascend to the glorious future: I mean support of PDF/ A-1b (basic).
By this moment, I made it possible to store XMP Metadata (in formats PDFAID, Adobe PDF and XMP Basic), and then I commented that code out.
I commented it out because there are no tests to check output format for compliance with PDF/A-1b and no control. To comply with PDF/A-1b format must be not lower than PDF 1.4.
Remains to be done:
1. Embedding of Base-14 fonts
2. Probably, embedding of Type1 fonts
3. Correct embedding of all other fonts (there are some complaints about encodings)
4. Embedding of rendering intents, although some validators don't complain when they are missing
5. Implementation of a mechanism to switch PDF/A-1b on and off, and ways to support generation of a special PDF document (ignoring compression, cryptography etc).

Sergius Bobrovsky: 05-24-07 14:29
OK, but not in this release. This feature will require a lot of work, and there will be no time to properly test it. We've fixed a lot of bugs, and we must release the new version now.

Eugene Starkov: 05-24-07 06:57
Let us do the basic level, then?

Sergius Bobrovsky: 05-23-07 20:58
Well, it appears to be not that easy. There are two levels of conformance to the PDF/A standard: normal and basic. We may implement now only the basic level. We are not in position to conform to the normal level because we have no way to create Tagged PDFs (it is one of the reasons).
In short, a Tagged PDF is a PDF with contents organized as a logical structure. It means, among the other things, that there may be no random positioning of the text (it is impossible to render the last word of a sentence first, and then the other words). Words don't split into characters, instead they are used as words. The order of text rendering in a PDF stream is the same as the order of screen rendering and reading direction.
As a minimum, we must define paragraphs and headers. And so on.
A lot of work and no way to generate a Tagged PDF by converting EMF files. I don't know what to do.

Sergius Bobrovsky: 05-07-07 08:39
Today I will finish with the images (hopefully), and then I will delve into this. I planned to implement this and printer context selection before the new version. Then we will write the press-release.

Eugene Starkov: 05-07-07 08:36
Again they're asking about PDF/A. I think it is the time to implement it...

Eugene Starkov: 02-01-2007 11:50
We use PDF Creator Pilot 3.0 with Image2PDF 1.3 and Html2PDF Add-on 3.3.
Could you please provide us with the information how to create an ISO PDF/A compatible file or, if this may not be possible at the moment, please give us an estimation when this feature will be available in your API.

 

PDFPAGE_TextOut does not always work fine [PDF Creator Pilot 079]

Vitaly Shibaev: 10-24-2007 10:27
During some additional tests, I have discovered that PDFPage::SetPixel fails to work correctly at (0, 0). Further investigations showed that while m_InternalSize of PDFPage was initialized with floating point data, like (595.276, 841.89), the / MediaBox clause inside PDF file uses integers. Now this problem has been fixed and PDFPage::SetPixel works OK.

Sergius Bobrovsky: 11-29-2006 10:37
After calling PDF->PDFPAGE_TextOut(0, 0, 0, "abcdefgABCDEFG12345!#$%&+-@?"); part of the string is inserted outside of the page boundaries. It seems that the height of the string is calculated based on the first character, not on the character with the largest height.

 

WordArt objects convert incorrectly [PDF Creator Pilot 059]

Sergius Bobrovsky: 07-02-07 19:07
See comment to error #0054.

Eugene Starkov: 10-19-2006 19:47
WordArt objects don't convert right. See the sample in attachment.

 

An EMF file converts wrong [PDF Creator Pilot 0000054]

Sergius Bobrovsky: 07-26-07 12:17
Max, the bugs that you have added to the list, must be observed.
If you put status "Solved", you have to check whether the problem has actually been solved. If it is, just close the ticket. If not - write about it!

Sergius Bobrovsky: 07-02-07 19:06
There were problems with both, clipping paths and PolyPolygon processing. Both have been fixed.

Sergius Bobrovsky: 10-05-06 22:20
It has been discovered, that conversion failed to take in account the "clipping path" for images rendered in the topmost layer above the text. I have added basic support for such paths, and even the last character started to convert right. However, support of such paths in the library looks like unfinished. This code isn't stable. In particular, even samples don't work.
I will send Stas a bug-report.

Maxim Filimonov: 10-05-2006 14:32
Attached EMF-file converts absolutely wrong.
I call m_PDF->PDFPAGE_PlayMetaFileExFromFileName(fName, 0, 0, 1, 1);

 

The library does not support pattern fills [PDF Creator Pilot 013]

Sergius Bobrovsky: 09-18-2006 15:52
The library does not support pattern fills. See PDF Reference (4.6 Patterns).
It is a very useful feature, notwithstanding it is rarely implemented so far.

 

The library does not work correctly under Windows 98 [PDF Creator Pilot 010]

Sergius Bobrovsky: 09-21-07 23:44
I think we should stop supporting Windows 98 (and NT 4, too), since no-one asked a question about them for at least a year.

Sergius Bobrovsky: 09-18-2006 15:43
The library seamlessly and correctly installs and registers in Windows98 (I tried it under Windows 98 SE Rus), test application converts its EMF-file, then Acrobat refuses to open the result, complaining that it misses something, and then - that the file is corrupted beyond repair.
I think it happens because of objects, inserted into PDF.

 

Probably, the library fails to work correctly under Windows NT4 [PDF Creator Pilot 009]

Eugene Starkov: 09-25-07 11:51
Yes, I think we can do that with an easy mind.

Sergius Bobrovsky: 09-21-07 23:43
I think we should stop supporting Windows 98 (and NT 4, too), since no-one asked a question about them for at least a year.

Sergius Bobrovsky: 09-18-2006 15:41
The library refuses to work under Windows NT 4 unless there is Internet Explorer 4.0 installed.
Earlier the library did not work under Windows NT 4 because it used GetLongPathName, but now that problem seems to be fixed. It is impossible to tell for sure, whether it works correctly with NT4 or not. A test is needed.

PDF Library Download Features Manual Tutorials FAQ Pricing HTML2PDF Add-on History In the Lab

 

 

PDF Library | Virtual Printer | Converters to PDF

Support | Blog | Forum | Contacts | Site map

© 2000-2008, Two Pilots