I've already managed to select feature by ID in a layer and zoom to it using pyqgis. The canvas considered this changes but the map that I exported as PDF do not consider this changes, any idea to solve this problem. This is my code:
xpr = QgsExpression("\"ID_PARCELL\"=1440")
it = vlayer.getFeatures(QgsFeatureRequest(expr))
ids = [i.id() for i in it]
vlayer.setSelectedFeatures(ids)
box = vlayer.boundingBoxOfSelected()
iface.mapCanvas().setExtent(box)
canvas = qgis.utils.iface.mapCanvas() ###
canvas.zoomToSelected(vlayer)
iface.mapCanvas().refresh()