Print Page | Close Window

What is the return code of replaceimage function?

Printed From: Debenu Quick PDF Library - PDF SDK Community Forum
Category: For Users of the Library
Forum Name: I need help - I can help
Forum Description: Problems and solutions while programming with the Debenu Quick PDF Library and Debenu PDF Viewer SDK
URL: http://www.quickpdf.org/forum/forum_posts.asp?TID=2813
Printed Date: 28 Sep 24 at 10:18PM
Software Version: Web Wiz Forums 11.01 - http://www.webwizforums.com


Topic: What is the return code of replaceimage function?
Posted By: kk aw
Subject: What is the return code of replaceimage function?
Date Posted: 21 Jan 14 at 6:04PM
What is the return code of the replaceimage function?  It is not stated in the documentation.



Replies:
Posted By: Rowan
Date Posted: 22 Jan 14 at 3:19AM
If the return code is not stated in the documentation then it can be presumed to be zero (0) for failure and one (1) for success.


Posted By: kk aw
Date Posted: 22 Jan 14 at 4:41AM
Thanks Rowan.  

My development code for converting embedded images in bmp format to jpg, gif or png is given below. The image replacement function is always returning 0.  Any ideas what I have missed?

I am using version 9.16 of the QuickPDF library.  I use the Imagelib TMultiImage component for the conversion.  The images saved to file are correct.

procedure TMainform.ConvertImage1Click(Sender: TObject);
var
  i,j,n: Integer;
  ImgID, nImgID: Integer;
  ImgCount: Integer;
  ImgName1, ImgName2: string;
  ImgType: Integer;
  ImgConverted: Integer;
  FPrivdir: string;
  FileExt: string;
  FFileName: string;
  retval: Integer;
begin
  Screen.Cursor := crHourGlass;
  FPrivdir:= sm.slashAdd(LmdSysInfo1.TempPath);
  FileExt:= sm.locase(ElcomboBox1.Text);
  ImgConverted:= 0;
  try
    ImgCount := Qp.FindImages;
    j:= ImgCount;
    imgId := QP.GetImageID(j);
    while j > 0 do
      begin
        qp.SelectImage(ImgID);
        ImgType := Qp.ImageType;
        if ImgType = 2 then
          begin
            ImgName1 := FPrivdir + 'PdfImage.bmp';
            ImgName2 := FPrivdir + Format('PdfImage.%s',[FileExt]);
            MultiImage1.ImageName:= '';
            QP.SaveImageToFile(Imgname1);
            MultiImage1.ImageName:= Imgname1;
            If sm.EqualIC(FileExt,'jpg') then
              MultiImage1.SaveAsJpg(ImgName2)
            else if sm.EqualIC(FileExt,'gif') then
              MultiImage1.SaveAsGIF(Imgname2)
            else if sm.EqualIC(FileExt,'png') then
              MultiImage1.SaveAsPNG(Imgname2);
            nImgID:= qp.AddImageFromFile(ImgName2,0);
            retval:= qp.ReplaceImage(ImgID, nImgID);
            If retval = 0 then
              ShowMessage('Image not replaced');
            retval:= qp.ClearImage(ImgID);
            If retval = 0 then
              ShowMessage('Image not cleared');
            Inc(ImgConverted);
          end;
        Dec(j);
        imgId := QP.GetImageID(j);
      end;
    Screen.Cursor := crDefault;
    If ImgConverted > 0 then
      begin
        ShowMessage(Format('%d Embedded images successfully converted',[ImgConverted]));
        FFileName:= FSelectedFile;
        n:= sm.posIC('.pdf', FFileName);
        System.Insert('[IC]',FFileName, n);
        Qp.SaveToFile(FFileName);
      end
    else
      ShowMessage('No image to convert');
  finally
    Screen.Cursor := crDefault;
  end;
end;



Posted By: jpbro
Date Posted: 09 Jul 15 at 10:36PM
I have the same problem with QPDF 10.16 - ReplaceImage is always returning 0. Did you ever find a solution for this?



Print Page | Close Window

Forum Software by Web Wiz Forums® version 11.01 - http://www.webwizforums.com
Copyright ©2001-2014 Web Wiz Ltd. - http://www.webwiz.co.uk