Keresés

Új hozzászólás Aktív témák

  • amargo

    addikt

    válasz Deer_ #3309 üzenetére

    Szia nincs mit, csak a két projekt nevét cserélted fel érzésem szerint ;)
    Delphi nincs a gépemen ezért nem tudok ebben többet segíteni :(

    Sok sikert hozzá!
    A gsPDF-nek talán van valami telepítője is, hátha abban több dolog van én csak a zip-et néztem meg..

    a PDFShap viszont elég igéretes, ha c#-ban is írhatod, de akár c++ ra is tudok ajánlani elég jót, de az nem ingyenes..

  • amargo

    addikt

    válasz Deer_ #3306 üzenetére

    PDFSharp. Ez egy .NET es library.
    GsPDF Ezt is érdemes megnézned.

    Igaz konzolos:

    {$APPTYPE CONSOLE}

    uses
    Windows,SysUtils,ShellApi,Forms,ComObj,Variants;

    var Input,InputNew : string;
    FileTest : boolean;
    App, AVDoc : Variant;
    CoInitFlags : Integer = -1;
    VarTest : IDispatch;
    test : PVariant;


    function RenameFile(const OldName, NewName: string): boolean;
    //renames files, taken from
    //http://www.dsdt.info/tipps/?id=128&search=RenameFile
    var
    sh: TSHFileOpStruct;
    begin
    sh.Wnd := Application.Handle;
    sh.wFunc := fo_Rename;
    //terminate with null byte to set list ending
    sh.pFrom := PChar(OldName + #0);
    sh.pTo := PChar(NewName + #0);
    sh.fFlags := fof_Silent or fof_MultiDestFiles;
    Result:=ShFileOperation(sh)=0;
    end; //end function


    begin //begin program

    Application.Initialize;
    //Read given filename
    Input:= ParamStr(1);
    //InputNew = original filename with ending "-preview" (e.g. test-preview.pdf)
    InputNew:= copy(Input,1,Length(Input)-4); //remove ".pdf"
    InputNew:= InputNew+'-preview.pdf';
    //check if renamed file exists
    FileTest:= FileExists(InputNew);
    //Create OLE-object for the program Acrobat or Adobe Viewer
    App:=CreateOleObject('AcroExch.App');
    //test if given file already exists
    if FileTest = true then
    begin
    //close old file
    AVDoc:=App.GetActiveDoc; //handle of the active document
    VarTest:=AVDoc;
    test:= PVariant(VarTest);
    if test <> PVariant(0) then //when handle is existing
    begin
    try
    AVDoc.Close(true);
    except
    Application.Terminate;
    end;
    end;
    //delete old file
    DeleteFile(InputNew);
    end; //end if FileTest
    //rename file
    RenameFile(Input,InputNew);
    //open renamed file in Acobat or Adobe Viewer
    App.Show; //show window
    App.Restore(true); //restore window size to make window active
    App.Maximize(true); //maximize window
    AVDoc:=CreateOleObject('AcroExch.AVDoc'); //create OLE object for file
    AVDoc.Open(''+InputNew+'',''); //open file

    end. //end program

  • amargo

    addikt

    válasz Deer_ #3304 üzenetére

    Léteznek erre ingyenes komponensek, amivel megtudod nyitni a PDF-et és ad arra is interface-t, hogy keresni tudjál benne.
    A sourceforge.net, találtam pár hónapja egy egész ígéretesnek tűnő komponenst itt ami ingyenes (csak most nem találom a nevét, csak amit én használok, de az pénzes volt).

    Maga az API-at kell neked hsználni majd az Adobe-től.

    Ismert jó pár keresési eljárás, ezeket googléval meg is találhatod, a Memos ötletet már most elvetném csírájában :)

    Nem tudom mennyi időd van rá, de én inkább komponenst keresnék, fentebb írtam, hogy létezik jó pár.

  • amargo

    addikt

    válasz Deer_ #3302 üzenetére

    Mit is szeretnél tulajdonképpen?
    Mert azt nehezen képzelem el, hogy az Adobe ingyen adna neked egy inteface-t egy létező PDF manipulálásához.

    Amúgy meg(Borland most nincs a közelemben), de ha jól rémlik ott is hozzá tudsz adni komponenseket valahol a pakage-ek környékén és ott fel is ajánlja az Adoble dll használatát, ez meg is fog jelenni a toolbar-on és feltudsz majd rakni egy objektumot, amivel PDF-et tudsz megjeleníteni.

Új hozzászólás Aktív témák