diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1bf37c7..fe30637 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
### Fixed
+- Fix PDF Generation involving a Network port with multiple IPs
- Fix PDF export of tabs renamed in GLPI 11
## [4.1.4] - 2026-07-30
diff --git a/inc/networkport.class.php b/inc/networkport.class.php
index 1d5a0ee..bfb2390 100644
--- a/inc/networkport.class.php
+++ b/inc/networkport.class.php
@@ -138,27 +138,39 @@ public static function pdfForItem(PluginPdfSimplePDF $pdf, CommonDBTM $item)
$netport->fields['mac'],
));
- $sqlip = ['LEFT JOIN' => ['glpi_networknames'
- => ['FKEY' => ['glpi_ipaddresses' => 'items_id',
- 'glpi_networknames' => 'id'],
- ['glpi_ipaddresses.entities_id'
- => $_SESSION['glpiactive_entity']]]],
- 'WHERE' => ['glpi_networknames.items_id' => $netport->fields['id']]];
-
- $ipname = '';
- $ip = new IPAddress();
- if ($ip->getFromDBByRequest($sqlip)) {
- $ipname = $ip->fields['name'];
-
- $pdf->displayLine('' . sprintf(__s('%1$s: %2$s'), __s('ip') . '', $ipname));
+ $ips = $DB->request(
+ [
+ 'SELECT' => [IPAddress::getTable() . '.*'],
+ 'FROM' => IPAddress::getTable(),
+ 'LEFT JOIN' => [
+ 'glpi_networknames' => [
+ 'FKEY' => [
+ 'glpi_ipaddresses' => 'items_id',
+ 'glpi_networknames' => 'id',
+ ],
+ [
+ 'glpi_ipaddresses.entities_id' => $_SESSION['glpiactive_entity'],
+ ],
+ ],
+ ],
+ 'WHERE' => [
+ 'glpi_networknames.items_id' => $netport->fields['id'],
+ 'glpi_networknames.itemtype' => NetworkPort::class,
+ ],
+ ],
+ );
+
+ foreach ($ips as $ip) {
+
+ $pdf->displayLine('' . sprintf(__s('%1$s: %2$s'), __s('ip') . '', $ip['name']));
$sql = ['SELECT' => 'glpi_ipaddresses_ipnetworks.ipnetworks_id',
'FROM' => 'glpi_ipaddresses_ipnetworks',
'LEFT JOIN' => ['glpi_ipnetworks'
=> ['FKEY' => ['glpi_ipaddresses_ipnetworks' => 'ipnetworks_id',
'glpi_ipnetworks' => 'id']]],
- 'WHERE' => ['glpi_ipaddresses_ipnetworks.ipaddresses_id' => $ip->getID()]
- + $dbu->getEntitiesRestrictCriteria('glpi_ipnetworks')];
+ 'WHERE' => ['glpi_ipaddresses_ipnetworks.ipaddresses_id' => $ip['id']]
+ + $dbu->getEntitiesRestrictCriteria('glpi_ipnetworks')];
$res = $DB->request($sql);
foreach ($res as $row) {