Do you own a Debenu Quick PDF Library version 7, 8, 9, 10, 11, 12, 13 or iSEDQuickPDF license? Upgrade to Debenu Quick PDF Library 14 today!
![]()  | 
 
metafile problem | 
 
    Post Reply  
   | 
  
| Author | |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Topic: metafile problemPosted: 08 Jul 09 at 9:19PM  | 
 
| 
   
    I have a report that has a TChart that I save as a enhanced windowMetafile.  When I load it into the QuickPDF document the font (Arial) does not remain as saved.  I have the emf files showing that the saving component (TChart) saves it correctly.  When read back into quickPDF it is not Arial (courier instead) and some of the axis titles should be vertical but instead are horizontal.  Am I doing something wrong or is this a limitation of QuickPDFs metafile conversion? 
    rcfTchart: begin 
   s:=getTempFile('.emf'); rcChart.SaveToMetafileEnh(s); if not FileExists(s)then showMessage('failed file create'); imgId:=doc.AddImageFromFile(s,0); if imgID=0 then showMessage('failed load'); if doc.SelectImage(imgID)=0 then showMessage('failed Select Image'); doc.DrawImage(left,top,width,height); used:=used+height; end;  | 
 |
![]()  | 
 |
   
   Ingo  
   
   Moderator Group  
    
   Joined: 29 Oct 05 Status: Offline Points: 3530  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 08 Jul 09 at 10:18PM | 
 
| 
   
    
   Hi Rho! 
   
  That's not a metafile-problem ... It's a QuickPDF-problem ;-) QuickPDF can't recognize / work with the included wmf-font. What you can do is: You can look into the wmf very easy with any text-editor. You can see the inserted fontnames. So as a workaround: Read the wmf first. Check the fonts. Create a new pdf. add the fonts as truetype. Then render the wmf to the new pdf. Then do the save. This works. What you can't do this way is working with different fonts in one wmf. Cheers, Ingo  | 
 |
![]()  | 
 |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 08 Jul 09 at 10:44PM | 
 
| 
   
    I saved the metafile, then 
  ArialFont:=addTrueTypeFont('Arial',1); 
  doc.SelectFont(ArialFont); 
  showMessage(doc.fontName);  // displays 'Arial' 
  imgId:=doc.AddImageFromFile(s,0); 
None of the fonts are changed. 
Did I understand you correctly? 
 | 
 |
![]()  | 
 |
   
   Ingo  
   
   Moderator Group  
    
   Joined: 29 Oct 05 Status: Offline Points: 3530  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 6:50AM | 
 
| 
   
    
   Hi! 
   
  You can't change the font in the metafile! You can look in the metafile to check the font ... and you can use the same or a similar font with addtruetypefont to render the metafile-content onto a new pdf-document. You can use a completely different font to render the metafile-content with another font onto the pdf. Cheers, Ingo  | 
 |
![]()  | 
 |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 1:36PM | 
 
| 
   
    
   Thanks Ingo but I did not change the font in the metafile, I added the 'Arial' font to the pdf.  As you can see from the code I tried what was suggested and it does not work.
    
   
   | 
 |
![]()  | 
 |
   
   Ingo  
   
   Moderator Group  
    
   Joined: 29 Oct 05 Status: Offline Points: 3530  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 3:56PM | 
 
| 
   
    
   What i've written: You can't change the font.  
   
  Edited by Ingo - 09 Jul 09 at 3:56PM  | 
 |
![]()  | 
 |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 4:03PM | 
 
| 
   
    
   I haven't changed the font.  The original TChart font is Arial.  The metafile is Arial.  The font when QuickPDF renders is courier.
 
   
   | 
 |
![]()  | 
 |
   
   Ingo  
   
   Moderator Group  
    
   Joined: 29 Oct 05 Status: Offline Points: 3530  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 4:29PM | 
 
| 
   
    
   Hi Rho! 
   
  You can add some truetype fonts... Additonally you have to select the font you want to use. Please keep in mind that you can add many fonts ... the one you have selected will be used for your next code parts. Please read the online documentation at www.quickpdf.org. Cheers, Ingo  | 
 |
![]()  | 
 |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 5:23PM | 
 
| 
   
    
   Ingo,  did you take time to read the code I posted?  
 
   
  I did add the font to the pdf: 
  ArialFont:=doc.addTrueTypeFont('Arial',1); 
I did select the font: 
  doc.SelectFont(ArialFont);
 
I tested to make sure the font was selected before adding the metafile to the document: 
  showMessage(doc.fontName);  // displays 'Arial' 
  imgId:=doc.AddImageFromFile(s,0); 
I have read the documentation. 
I know you are trying to help but it seems you don't actually read the posts.  | 
 |
![]()  | 
 |
   
   Ingo  
   
   Moderator Group  
    
   Joined: 29 Oct 05 Status: Offline Points: 3530  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 09 Jul 09 at 7:22PM | 
 
| 
   
    
   Hi Rho! 
   
  I don't have anything from my help. BTW: I'm doing this in my freetime. Perhaps i've overseen something in your code but this don't give you the right to ... ;-) If there's no help for you here (from users) you should go there: http://www.quickpdflibrary.com/support/support-query.php Cheers, Ingo  | 
 |
![]()  | 
 |
   
   DELBEKE  
   
   Debenu Quick PDF Library Expert  
   Joined: 31 Oct 05 Location: France Status: Offline Points: 151  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 10 Jul 09 at 6:25AM | 
 
| 
   
    
   Hello
 
   
  The last release of QuickPdf library has 2 new functions that can do the trick 
GetCanvasDC and LoadFromCanvasDC 
first use GetCanvasDC to obtain a handle 
then use PlayEnhMetatafile (GDI function) with this handle 
finaly use LoadFromCanvasDC 
At this momment , you have a handle on a loaded image you can draw anywhere in the pdf 
read the last documentation for the parmeters. 
    | 
 |
![]()  | 
 |
   
   RhoTu  
   
   Beginner  
   Joined: 29 Jun 09 Location: Minnesota Status: Offline Points: 12  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 10 Jul 09 at 3:50PM | 
 
| 
   
    
   Thanks for all the help.  I have posted a code snippet of a different approach that accomplishes what I was seeking in the code examples section.
 
   
  RT 
    | 
 |
![]()  | 
 |
   
   Michel_K17  
   
   Newbie  
   www.exp-systems.com Joined: 25 Jan 03 Status: Offline Points: 297  | 
  
   
      Post Options
    
        Thanks(0)
      Quote   Reply
   
     Posted: 11 Jul 09 at 1:51PM | 
 
| 
   
    
   I looked at your sample code. Nice workaround! 
   
  Thank you for the contribution.  | 
 |
| 
   
     
     Michel
     
   
   | 
 |
![]()  | 
 |
    Post Reply  
   | 
  |
|       
  
  Tweet   	
    | 
 
| Forum Jump | Forum Permissions  ![]() You cannot post new topics in this forum You cannot reply to topics in this forum You cannot delete your posts in this forum You cannot edit your posts in this forum You cannot create polls in this forum You cannot vote in polls in this forum  | 
 
Copyright © 2017 Debenu. Debenu Quick PDF Library is a PDF SDK. All rights reserved. About — Contact — Blog — Support — Online Store