Tolong pilih kategori sesuai, jenis posting (diskusi atau bukan) dan sertakan tag/topik yang sesuai seperti komputer, java, php, mysql, dll. Promosi atau posting tidak pada tempatnya akan kami hapus!
- Bagi Anda yang ingin mendaftar, baca link berikut:
http://diskusiweb.com/discussion/50491/how-to-registrasi-diskusiweb-com-baca-ini-terlebih-dahulu
- Cara menyisipkan kode program supaya tampil rapi dan terformat dengan baik di diskusiweb.com: http://www.diskusiweb.com/discussion/50415/cara-menyisipkan-kode-program-di-diskusiweb-com
- Cara posting gambar/image di post Anda: http://www.diskusiweb.com/discussion/47345/cara-menyisipkan-menyertakan-image-pada-posting/p1

erorr cara membuat report pdf,word dll

selamat siang master
saya mengalami kendala untuk pengulangannya tidak muncul(hanya 1 record saja)
berikut code nya..
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config_libreoffice_path = 'C:\\Program Files\\LibreOffice 4.0\\program\\soffice.exe';
$config_temp_dir = 'C:\\Temp';
$template = file_get_contents('C:\\xampp\\htdocs\\erpumum\\rpt\\rpt_reservasi.xml');
$fname = 'rpt_reservasi';
ini data file yang akan di replace

$datatemplate = ' <table:table-row table:style-name="Table3.1">
<table:table-cell table:style-name="Table3.A2" office:value-type="string">
<text:p text:style-name="P5"/>
</table:table-cell>
<table:table-cell table:style-name="Table3.B2" office:value-type="string">
<text:p text:style-name="P5">{vnamabarang} </text:p>
</table:table-cell>
<table:table-cell table:style-name="Table3.C2" office:value-type="string">
<text:p text:style-name="P5">{kd_barang} </text:p>
</table:table-cell>
<table:table-cell table:style-name="Table3.D2" office:value-type="string">
<text:p text:style-name="P5"/>{req_from}</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table3.E2" office:value-type="string">
<text:p text:style-name="P5"/>{req_to}</text:p>
</table:table-cell>
<table:table-cell table:style-name="Table3.F2" office:value-type="string">
<text:p text:style-name="P5">{req_date}</text:p>
</table:table-cell>
</table:table-row>';
pengulangannya....


$rep = '';

foreach($pdf_reservasi as $list)
{
header('Expires: Tue, 1 Jan 2019 00:00:00 GMT');
header('Cache-Control: no-cache');
header('Pragma: no-cache');
header('Content-Disposition: attachment; filename="' . $fname . '.pdf"');
header('Content-Type: application/pdf');
$file = 'C:\\Temp\\rpt_reservasi.xml';
$vnamabarang = $list['vNamaBarang'];
$kd_barang = $list['kd_barang'];
$req_from = $list['req_from'];
$req_to = $list['req_to'];
$req_date = $list['req_date'];
$field = array(
'{vnamabarang}',
'{kd_barang}',
'{req_from}',
'{req_to}',
'{req_date}'
);
$replace = array(
$namabarang,
$kd_barang,
$req_from,
$req_to,
$req_date
);
$rep = str_replace($field, $replace, $datatemplate);
}
ending program nya....

$template = str_replace('{rep}', $rep, $template);
file_put_contents($file, $template);
exec('"' . $config_libreoffice_path . '" -headless -convert-to pdf -outdir "' . $config_temp_dir . '" "' . $config_temp_dir . '\\' . $fname . '.xml"');
readfile($config_temp_dir . '\\' . $fname . '.pdf');

mohon bantuannya para master,saya masih terkendala di report yang muncu1 hanya 1 saja.
terima kasih sebelumnya.

Comments

  • edited April 17
    $rep = str_replace($field, $replace, $datatemplate);

    coba dibandingkan ama contoh di tret yg satunya

    $DATA.=str_replace(
    array('{NO}','{NAMA}','{ALAMAT}'),
    array($no,$rec['nama'],$rec['alamat']),
    $datatemplate
    );

    apa yg beda ?

    bukan hurufnya :D karena pasti beda
    tapi syntax nya coba dibandingkan

    coba dilihat yg teliti pake banget :D





    btw, masih pake libreoffice 4 ?
    nguber dari arsip nya libreoffice ? :D
    gw aja sudah pake yg 6

    tapi bisa sih, ndak masalah pake 4
    5, 6 juga bisa
  • edited April 17
    ya mas bro,
    berikut codingan saya,
    <?php
    defined('BASEPATH') OR exit('No direct script access allowed');
    $config_libreoffice_path = 'C:\\Program Files\\LibreOffice 4.0\\program\\soffice.exe';
    $config_temp_dir = 'C:\\temp';
    $fname = 'rpt_reservasi';
    header('Expires: Tue, 1 Jan 2017 00:00:00 GMT');
    header('Cache-Control: no-cache');
    header('Pragma: no-cache');
    header('Content-Disposition: attachment; filename="' . $fname . '.pdf"');
    header('Content-Type: application/pdf');
    $template = file_get_contents('C:\\xampp\\htdocs\\erpumum\\rpt\\rpt_reservasi.xml');
    $DATA = '';
    $datatemplate = ' <table:table-row table:style-name="Table3.1">
    <table:table-cell table:style-name="Table3.A2" office:value-type="string">
    <text:p text:style-name="P5"/>
    </table:table-cell>
    <table:table-cell table:style-name="Table3.B2" office:value-type="string">
    <text:p text:style-name="P5">{vnamabarang}</text:p>
    </table:table-cell>
    <table:table-cell table:style-name="Table3.C2" office:value-type="string">
    <text:p text:style-name="P5">{kd_barang}</text:p>
    </table:table-cell>
    <table:table-cell table:style-name="Table3.D2" office:value-type="string">
    <text:p text:style-name="P5"/>{req_from}</text:p>
    </table:table-cell>
    <table:table-cell table:style-name="Table3.E2" office:value-type="string">
    <text:p text:style-name="P5"/>{req_to}</text:p>
    </table:table-cell>
    <table:table-cell table:style-name="Table3.F2" office:value-type="string">
    <text:p text:style-name="P5">{req_date}</text:p>
    </table:table-cell>
    </table:table-row>';

    foreach($pdf_reservasi as $list)
    {
    $DATA.= str_replace(array(
    '{vnamabarang}',
    '{kd_barang}',
    '{req_from}',
    '{req_to}',
    '{req_date}'
    ) , array(
    $list['vNamaBarang'],
    $list['kd_barang'],
    $list['req_from'],
    $list['req_to'],
    $list['req_date']
    ) , $datatemplate);
    }

    $template = str_replace('{DATA}', $DATA, $template);
    file_put_contents($config_temp_dir . '\\' . $fname . '.xml', $template);
    exec('"' . $config_libreoffice_path . '" -headless -convert-to pdf -outdir "' . $config_temp_dir . '" "' . $config_temp_dir . '\\' . $fname . '.xml"');
    readfile($config_temp_dir . '\\' . $fname . '.pdf');
    ?>
    untuk xml nya sudah keluar mas bro,berhasil ada lebih dari 1 record,di folder C:\\temp,tapi kenapa pdf nya size nya 1kb aj yaaakkk(corrupt)...btw saya masih pake yg versi libre 4,sesuai postingan awal..
    mohon pencerahannya mas bro...terima kasih sblumnya
  • edited April 18
    ok, yg awal sudah paham ya ... cuma kurang titik ( ... atau jangan-jangan ndak "ngeh" ? :D )

    $rep = str_replace(...);
    $DATA .= str_replace(...);

    itu kalo dijabarkan jadinya sama dengan ...
    $DATA = $DATA . str_replace(...);

    pasti beda kalo cuma spt ini

    $rep = str_replace(...);

    elo tulis spt ini
    $rep .= str_replace(...);
    juga sudah beres

    sejenis dgn $a += 5;
    itu identik dgn $a = $a + 5;

    dan sejenis dgn operator :
    -=
    /=
    *=
    **=
    &=
    |=
    ^=
    %=
    <<=
    >>=

    tapi tidak sejenis dgn
    != ... not equal / tidak sama dengan
    !== ... exactly not equal / benar2 tidak sama dengan



    kalo masalah pdf yg ndak jadi ...
    ini agak repot, soalnya gw mesti dapat file xml yg sudah berisi data lengkap buat gw liat salahnya dari mana

    ya kalo mau, silakan di attach
    kalo terlalu gede file nya, bisa di zip / rar dulu



    atau kalo mau cek sendiri sebelum di attach ...
    kalo pas cuma dapat 1 data, sukses kan jadi PDF ?
    kalo bener sukses, berarti bukan salah struktur xml nya

    apakah ada di data elo, ada data string yg ada karakter '&' nya ?
    kalo ada, harus ada proses tambahan ...

    $DATA .= str_replace( '&' , '&amp;' , str_replace(...) );
Sign In or Register to comment.