include PDF file?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer Zorg-ICT

Wil jij met ChipSoft impact maken in de zorg met jouw technische kennis als Software Developer? En lijkt het jou uitdagend om innovatieve software te ontwikkelen met de laatste Microsoft-tools en technieken? Wat doe jij als Software Developer? Je bent verantwoordelijk voor het ontwerpen, ontwikkelen, ondersteunen en onderhouden van jouw eigen module. Dit gaat om complexe ICT-producten die feilloos moeten functioneren binnen de complexe omgeving van een zorgorganisatie. Je werkt zelfstandig of in teamverband. ChipSoft maakt gebruik van een zelf ontwikkeld multi-tier framework. Tijdens een interne opleiding brengen wij je snel bij hoe je binnen deze architectuur je ontwikkelkunsten kunt

Bekijk vacature »

Cobol Programmeur Ontwerper

Bedrijfsomschrijving Voor een bekende overheidsinstelling in regio Den Haag zijn wij opzoek naar een tijdelijke Cobol programmeur. Je zal verantwoordelijk zijn voor het ontwikkelen en onderhouden van de Cobol applicatie omgeving. Maar ook het ontwikkelen en bouwen van applicaties in de web-omgeving behoort tot jouw taken en verantwoordelijkheden. Je denkt mee met de organisatie en achterhaald bij de gebruikers welke wensen er nog zijn. Functieomschrijving Ben jij een Cobol programmeur en zoek je een toffe vaste baan? Wil je werken bij een hele bekende overheidsinstelling in Den Haag? Heb je naast ontwikkelen ervaring met ontwerpen en verbeteren van Cobol omgevingen?

Bekijk vacature »

Junior Developer Fullstack Java DevOps Cloud

Bedrijfsomschrijving Onze klant is een grote organisatie en is actief in de financiële sector. Binnen Europa bieden zij veel verschillende producten en diensten aan. De afdeling waar je komt te werken richt zich op het digitaliseren van primaire digitale processen. Wat digitale processen betreft lopen wij in Nederland ver voor op andere landen in Europa! Deze services wil de organisatie ook aanbieden aan hun collega’s en klanten in landen zoals België, Frankrijk en Duitsland. Jij en je team zijn verantwoordelijk voor de digitalisatie van de primaire processen en deze vervolgens te optimaliseren & automatiseren. Binnen het team zal je end-to-end

Bekijk vacature »

Backend C# Developer gezocht voor medische applica

Bedrijfsomschrijving Wil jij werken voor een organisatie die actief is in de branche van medische applicaties? En ben jij een Backend C# Developer met minimaal 2 jaar ervaring? Dan ben je hier aan het juiste adres! Je komt terecht in een team van zo'n 30 man sterk, waarvan ongeveer de helft op de IT afdeling werkt. Deze afdeling bestaat uit o.a. Developers, Data Scientisten/Specialisten en Designers. De gemiddelde leeftijd is laag (rond de 33) en de werknemerstevredenheid is hoog. Iedereen is trots op wat hier gemaakt wordt en iedereen zet zich elke dag in voor een gezondere samenleving. Iedereen werkt

Bekijk vacature »

C# .NET Full Stack Developer

Bedrijfsomschrijving Dit internationale is marktleider op het gebied van automatisering. Door de vooruitlopende technieken zijn de processen zo efficiënt mogelijk ingericht. De software verwerkt aanvragen automatisch en zorgt ervoor dat binnen 24 uur de bestelling geleverd kan worden. De organisatie is dan ook continu bezig met het verder ontwikkelen en investeren in de nieuwste technieken. Het development team bestaat op dit moment uit zeven collega's, maar de totale organisatie uit meer dan 300 professionals. Het team is verantwoordelijk voor de gehele softwareontwikkeling, van front-end tot (productie)procesautomatisering. Iedereen heeft zijn/ haar eigen specialisatie, maar alles is mogelijk. Hierbij krijg je veel

Bekijk vacature »

Java Software Ontwikkelaar

Java Software Ontwikkelaar Functiebeschrijving: Heb jij ervaring met applicatieontwikkeling, testen en onderhoud van business-kritische applicaties? Wil je graag het verschil maken voor onze projecten bij de Nederlandse overheid, sociale zekerheid en gezondheidszorg? Wil je deel uitmaken van een zeer succesvol team? Wat ga je doen? De wereld om ons heen verandert in snel tempo. We zien dat technologie een steeds belangrijkere rol speelt in onze samenleving. CGI bouwt innovatieve oplossingen voor deze veranderende wereld. Met jouw team bouw je aan slimme oplossingen voor de digitale overheid, onder andere voor onze opdrachtgevers in de sociale zekerheid en gezondheidszorg. Als ervaren Software

Bekijk vacature »

Ervaren full-stack C# developer, .NET CORE, Typesc

Voor een ambitieuze en snelgroeiende organisatie de regio Rotterdam zijn we momenteel op zoek naar een .NET C# developer. De organisatie bestaat inmiddels ruim 15 jaar en heeft een systeem ontwikkeld waarmee bedrijven de informatie van grote en complexe projecten beter kunnen managen. Dit systeem is geheel webbased. Om hun globale ambities waar te maken zijn ze recentelijk begonnen het systeem geheel te herbouwen met de nieuwste technieken. Denk hierbij aan technieken als .NET CORE, Typescript, React, Kubernetes en Azure. Niet alleen betekent voldoende nieuwe technische uitdaging maar ook betekent dit dat je voor 80 tot 90% van je tijd

Bekijk vacature »

Junior of medior full-stack C# developer gezocht,

Ben je een startende software developer of iemand die wellicht al iets meer ervaring heeft? En ben je op zoek naar een baan als C# developer in Rotterdam (vlakbij Rotterdam centraal)? Bij een kleine platte organisatie met korte lijnen en een professionele en ongedwongen sfeer? Waarbij gebruiksvriendelijkheid een belangrijk uitgangspunt is bij het bouwen van hun software? Voor een bedrijf in Rotterdam zijn we momenteel op zoek naar een junior of medior C# developer. Het bedrijf richt zich op de ontwikkeling van software voor productiebedrijven. Hun software stelt deze bedrijven in staat sneller te verbeteren. Dit doen ze door bekende

Bekijk vacature »

SAP BI DevOps Lead

SAP BI DevOps Lead Functiebeschrijving: Wil jij unieke SAP Business Intelligence oplossingen bedenken, ontwerpen en implementeren die een directe impact hebben op de bedrijfsvoering van onze klanten? Heb jij ervaring met de laatste en modernste tools van SAP in een agile omgeving? En wil jij de lead zijn in het opbouwen en verder professionaliseren van je eigen practice? Wat ga je doen? CGI zoekt een all-round SAP BI DevOps Lead met ervaring in het ontwerpen, bouwen en testen van ETL modellen en reporten door middel van SAP BW on HANA en verwante SAP tools. De SAP BI DevOps Lead kan

Bekijk vacature »

Microsoft 365 Engineer Welkomstbonus € 5.000,

Microsoft 365 Engineer senior Welkomstbonus van € 5.000,- Bij T2 zorgen we goed voor elkaar en doen wij leuke dingen met leuke mensen. We zorgen voor uitdagende opdrachten zodat jij jezelf onbeperkt kan blijven ontwikkelen. Ben jij een ervaren systeembeheerder Microsoft 365 en wil je het beste uit jezelf halen? Dan ben je van harte welkom bij T2 en ontvang je onze welkomstbonus ter waarde van € 5.000,-. Er werken leuke mensen bij T2, die op een professionele en informele wijze met hun carrière en collega’s omgaan. Dat is de basis voor succes! Het is vanzelfsprekend dat je met de

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Mobile App Developer

Ons Mobile ontwikkelteam zoekt een fanatieke Mobile App Developer. Ben jij creatief en heb je passie voor het ontwikkelen van apps? Dan zijn wij op zoek naar jou! Jouw baan ChipSoft heeft al diverse apps uitgebracht en het aantal gebruikers hiervan neemt snel toe. De apps doen het erg goed bij de zorginstellingen. Je kunt hierbij denken aan apps verpleegkundigen, thuiszorgmedewerkers, de logistieke dienst en - natuurlijk - de artsen zelf. Door jouw hands-on mentaliteit, eigenwijsheid en technisch inzicht kun je nauwkeurig herbruikbare software schrijven. Die software sluit naadloos aan op onze ‘back end’ (HiX, onze ICT-totaaloplossing voor de zorg).

Bekijk vacature »

Technisch Applicatie Beheerder

TechnischApplicatieBeheerder Functiebeschrijving: Ben jij een bevlogen specialist die applicaties tot in het diepste weet te doorgronden en die snel en adequaat reageert bij verstoringen? Wat ga je doen? Als Technisch Applicatiebeheerder zorg je voor het continue beschikbaar zijn van applicaties. Je houdt je bezig met het inrichten, monitoren, analyseren en verbeteren van de technische infrastructuur en de procedures rondom de beheerde applicaties. Je test de werking van de aangeboden wijzigingen en lost problemen en verstoringen op. Daarnaast analyseer je de risico’s en impact van nieuwe applicaties of wijzigingen. Je zorgt daarbij altijd dat de systeemdocumentatie op orde is. Samen met

Bekijk vacature »

IT Manager

IT Manager Breda, 36-40 uur per week Je weet snel te schakelen tussen strategisch IT-beleid en de dagelijkse gang van zaken. Verder ben je een doorgewinterde professional, die helder kan verwoorden wat ervoor nodig is om onze IT-omgeving optimaal te laten functioneren. Daarnaast kun je goed leidinggeven en gaat samenwerken met ervaren en niet-ervaren gebruikers van onze IT-oplossingen je makkelijk af. Op IT-vlak weet je goed wat je wilt, maar je bent ook uitstekend in staat om buiten de kaders te denken wanneer je ergens een oplossing voor zoekt. Daarbij ben je een echte doener. Problemen die op je pad

Bekijk vacature »

SAP/CRM Developer SAPUI5 Overheid

Bedrijfsomschrijving De organisatie staat voor het leveren van een efficiënte en kwalitatief hoogwaardige salaris- en personeelsadministratie. Je gaat samenwerken met ICT-professionals met uiteenlopende kennis en achtergronden. Hou je van Agile samenwerken en kom je maximaal tot je recht in zelfsturende teams? Dan is dit de plaats waar jouw toekomst ligt. Voor deze functie zijn we op zoek naar een ervaren SAP CRM developer. De kerntaken bestaan uit het maken van een vertaling van de business behoefte naar passende SAP-oplossingen. Je bent daarbij enerzijds in staat om om te gaan met complexe vraagstukken en oplossingen te bedenken die bestaan uit kleine

Bekijk vacature »
Marco V

Marco V

22/04/2011 11:14:16
Quote Anchor link
Ik heb een dir met PDF bestanden:

/opdrachten
1.pdf
2.pdf
3.pdf

Om nu te voorkomen dat een bezoeker door de map gaat bladeren heb ik een .htacces file geplaatst die ik elders ook gebruik om te voorkomen dat documenten in deze dir direct aangeroepen kunnen worden:

Options +Includes
AddType text/html shtml php
AddHandler server-parsed shtml

Tot dusver ben ik nog niet tegen het probleem aangelopen, omdat ik via een include of require scripts toevoegde uit dergelijke directories, maar nu wil ik de PDF bestanden openen in een nieuw browser venster.

Kan dit ook met een include of require of is er een slimmere manier?
Mijn idee is om een post te doen naar een .php script buiten deze map waarbij ik de bestandsnaam en dirnaam mee geef.

Tips?
 
PHP hulp

PHP hulp

20/01/2021 16:44:40
 
Bas Kreleger
Beheerder

Bas Kreleger

22/04/2011 11:18:20
Quote Anchor link
Je kunt de geheime PDF bestanden beter in een dir buiten de WWW directory bewaren. Dan zijn ze veilig en kun je ze ook echt alleen via een handeling op de server bereiken. Zie bijvoorbeeld download pop-up bij elk bestand.
 
Marco V

Marco V

22/04/2011 11:21:34
Quote Anchor link
ik ben bang dat mijn huidige provider mij niet toestaat om buiten de www dir te schrijven, maar het is een idee om even te proberen.

Ondertussen vroeg ik me ook nog af of ik bij AddType (in htaccess) PDF moet toevoegen in de huidige setup? (ben geen expert in htaccess)
 
Jelmer -

Jelmer -

22/04/2011 11:26:59
Quote Anchor link
Je kan ook gewoon de toegang blokkeren via htaccess:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
order deny, allow
deny from all

Direct aanroepen wil dan niet meer, maar omdat je PHP script niet via Apache bij de bestanden komt maar gewoon via het bestandssysteem, kan die er wel zonder beperkingen bij.

Het is wel veiliger om de bestanden buiten je www-root te zetten, want hier is het nog mogelijk dat bij een upgrade oid de configuratie van Apache verandert, en .htaccess bestanden worden genegeerd waardoor je plots wel bij de bestanden kan. (ook leuk als datzelfde gebeurt en PHP bestanden als platte tekst worden gezien)
 
Marco V

Marco V

22/04/2011 11:39:55
Quote Anchor link
Welke locatie het dan ook wordt... kan ik dan bijvoorbeeld een PDF bestand includen (en dus weergeven) met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$file
= "/server/".$_POST['dirnaam']."/".$_POST['bestandsnaam'];
readfile($file);
?>


dus zonder enige html, eigenlijk hetzelfde als wanneer je rechtstreeks naar het bestand een link maakt?
 
Jelmer -

Jelmer -

22/04/2011 12:18:20
Quote Anchor link
In plaats van Apache die de bytes van het bestand leest en naar de browser stuurt is het nu PHP die dat doet. Voor de rest gebeurt er (ongeveer) hetzelfde.
 
Marco V

Marco V

22/04/2011 12:19:52
Quote Anchor link
ik ga even wat proberen, dank voor jullie reacties!

Toevoeging op 22/04/2011 14:22:08:

Nou, ik ben er bijna...

Heb even geinformeerd, maar zoals verwacht heb ik geen rechten om buiten de root te schrijven! Het zal dus binnen de www map moeten met een .htaccess beveiliging op de dir met pdf bestanden.

So far, so good! Maar, nu ik met het onderstaande script een PDF wil openen, wordt het bestand als tekst geopend. Ik vermoed dat ik iets van een embed ofzo zal moeten doen?? Het resultaat is nu zoiets als:

"%PDF-1.7 3 0 obj <> /Resources 2 0 R /Contents 4 0 R>> endobj 4 0 obj <> stream xœí[KoÛ8¾ûWÌehX>DI잤O4ív뢇¶Å¢Ùz8²ì=õ§ä§.©W(GubÇv”…DÉhÌ™Ã™á eaĸ ïþÿT|õûÂèwÜ‡ç¯ ¬hèáU¿‡7t\pD]õ9 ®E%³1²]........... enz"

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;
    readfile($file);
}

?>


Toevoeging op 22/04/2011 14:29:38:

Ohh... nevermind, ik heb de oplossing gevonden!
Even gekeken naar een voorbeeld van readfile:

Het moet zijn:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;

if (file_exists($file)) {
    header('Content-Type: application/pdf');
    ob_clean();
    flush();
    readfile($file);
    exit;
}

?>
 
Marco V

Marco V

26/04/2011 11:33:51
Quote Anchor link
Goedemorgen!

Na voorgaande loop ik toch nog tegen een ding aan... namelijk als ik vanuit een venster een PDF bestand wil openen in een nieuw venster:

<html>
<form action="/pdf.php" method="post" name="form1" target="_new" id="form1">
<input type="image" name="Open" id="Open" value="Open" src="/buttons/application-pdf-2.png" width="48" height="48" border="0" align="middle" alt="Open inkoopopdracht" />inkoopopdracht
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $INKOOPNR; ?>

<input name="file" type="hidden" id="file" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $file_name; ?>
" />
<input name="path" type="hidden" id="path" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $file_dir; ?>
" />
</form>
</html>

In eerste instatie gaat dit goed, maar als de gebruiker dit nieuwe venster niet sluit en vervolgens nogmaals op het icoon klikt om deze (of een andere) pdf te openen dan geeft de controle van onderstaande script foutmeldingen:

> de bestandsnaam is ongeldig!
> het pad is ongeldig!

Het volledige script voor het openen van de PDF:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
    # Met dit script kunnen PDF bestanden worden geopend
    # via een POST naar dit script wordt het "pad" en de "bestandsnaam" opgegeven
    # via de variabelen '$_POST['file'] en $_POST['path']
    # In onderstaande parameters geven we op welke extenties zijn toegestaan,
    # wat de naam van de rootdir is en of bestanden buiten de rootdir ook opgevraagd mogen worden.
    # Vervolgens wordt het bestand geopend in het venster

    # ---------------------------------- PARAMETERS ----------------------------------
    
    # onderstaande parameters moeten worden ingesteld voor de juiste werking van de controles!
    
    // de bestandsextenties die we verwachten

    $toegestane_extenties = "pdf|PDF"; // bijvoorbeeld extenties voor afbeeldingen: "jpg|jpeg|gif|png";
    
    // naam van de web(root)dir (meestal: "www")

    $rootdir = "httpd.www";
    
    // is het toegestaan om bestanden buiten de web(root)dir op te halen: (J/N)
    $buiten_root = "N";
    
    # --------------------------------------------------------------------------------

    # Controle of de bestandsnaam een toegestane extentie .pdf heeft
    
    // string voor toegestane extenties

    $rEFileTypes = "/^\.(".$toegestane_extenties."){1}$/i";

    // als alles achter de laatste '.' overeenkomst met de toegestane extenties
    if (preg_match($rEFileTypes, strrchr($_POST['file'], '.'))) {
        // zet de waarde voor $bestandsnaam
        $bestandsnaam = $_POST['file'];
    }
else {
        echo "de bestandsnaam ".$_POST['file']." is ongeldig!<br />";
    }


    // de huidige locatie opvragen
    $huidige_locatie = getcwd();
    // haal het pad naar de root uit $huidige_locatie
    $rootpad = strstr($huidige_locatie, $rootdir, true);
    
    // bestand buiten de "WWW" map toestaan:
    if (($buiten_root == "J") AND (strstr($_POST['path'], $rootdir, true) == $rootpad)) {
        $pad = $_POST['path'];
    }

    else
    // alleen bestanden binnen de "WWW" map toestaan:
    if (($buiten_root == "N") AND ((strstr($_POST['path'], $rootdir, true).$rootdir) == ($rootpad.$rootdir))) {
        $pad = $_POST['path'];
    }
else {
        echo "het pad ".$_POST['path']." is ongeldig!<br />";
    }


// als de variabelen zijn gezet, openen we het bestand
if (($pad) AND ($bestandsnaam)) {
    $file = $pad.$bestandsnaam;


    if (file_exists($file)) {
        header('Content-Type: application/pdf');
        ob_clean();
        flush();
        readfile($file);
        exit;
    }
}

?>


Heeft iemand een idee hoe ik dit kan oplossen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.